using GFramework.Core.model; using GFramework.Core.system; using GFramework.Core.utility; namespace GFramework.Core.extensions; /// /// 提供获取模型对象扩展方法的静态类 /// public static class CanGetModelExtension { /// /// 从架构中获取指定类型的模型实例 /// /// 要获取的模型类型,必须实现IModel接口 /// 实现ICanGetModel接口的对象实例 /// 指定类型的模型实例 public static T GetModel(this ICanGetModel self) where T : class, IModel => self.GetArchitecture().GetModel(); } /// /// 提供获取系统对象扩展方法的静态类 /// public static class CanGetSystemExtension { /// /// 从架构中获取指定类型的系统实例 /// /// 要获取的系统类型,必须实现ISystem接口 /// 实现ICanGetSystem接口的对象实例 /// 指定类型的系统实例 public static T GetSystem(this ICanGetSystem self) where T : class, ISystem => self.GetArchitecture().GetSystem(); } /// /// 提供获取工具对象扩展方法的静态类 /// public static class CanGetUtilityExtension { /// /// 从架构中获取指定类型的工具实例 /// /// 要获取的工具类型,必须实现IUtility接口 /// 实现ICanGetUtility接口的对象实例 /// 指定类型的工具实例 public static T GetUtility(this ICanGetUtility self) where T : class, IUtility => self.GetArchitecture().GetUtility(); }