NopCommerce(EBuy模拟)中类型查找接口ITypeFinder的设计——反射+泛型
来源:互联网 发布:吴昕的淘宝店名 编辑:程序博客网 时间:2024/06/06 00:58
/// <summary> /// Classes implementing this interface provide information about types /// to various services in the EBuy engine. /// 类型查找器接口——反射+泛型 /// </summary> public interface ITypeFinder { /// <summary> /// 获取程序集列表 /// </summary> /// <returns>程序集列表</returns> IList<Assembly> GetAssemblies(); /// <summary> /// 获取派生自assignTypeFrom类的类集合 /// </summary> /// <param name="assignTypeFrom">指定父类</param> /// <param name="onlyConcreteClasses">是否只查找具体类</param> /// <returns></returns> IEnumerable<Type> FindClassesOfType(Type assignTypeFrom, bool onlyConcreteClasses = true); /// <summary> /// 从assemblies程序集集合中获取派生自assignTypeFrom类的类集合 /// </summary> /// <param name="assignTypeFrom">指定父类</param> /// <param name="assemblies">指定被查找的程序集</param> /// <param name="onlyConcreteClasses">是否只查找具体类</param> /// <returns></returns> IEnumerable<Type> FindClassesOfType(Type assignTypeFrom, IEnumerable<Assembly> assemblies, bool onlyConcreteClasses = true); /// <summary> /// 获取派生自T类的类集合 /// </summary> /// <typeparam name="T">指定父类</typeparam> /// <param name="onlyConcreteClasses">是否只查找具体类</param> /// <returns></returns> IEnumerable<Type> FindClassesOfType<T>(bool onlyConcreteClasses = true); /// <summary> /// 从assemblies程序集集合中获取派生自T类的类集合 /// </summary> /// <typeparam name="T">指定父类</param> /// <param name="assemblies">指定被查找的程序集</param> /// <param name="onlyConcreteClasses">是否只查找具体类</param> /// <returns></returns> IEnumerable<Type> FindClassesOfType<T>(IEnumerable<Assembly> assemblies, bool onlyConcreteClasses = true); /// <summary> /// 查找程序集中标记有TAssemblyAttribute特性并且派生自T的类集合 /// </summary> /// <typeparam name="T">指定父类</typeparam> /// <typeparam name="TAssemblyAttribute">指定特性</typeparam> /// <param name="onlyConcreteClasses">是否只查找具体类</param> /// <returns></returns> IEnumerable<Type> FindClassesOfType<T, TAssemblyAttribute>(bool onlyConcreteClasses = true) where TAssemblyAttribute : Attribute; /// <summary> /// 查找定义了T特性的程序集 /// </summary> /// <typeparam name="T">特性</typeparam> /// <returns></returns> IEnumerable<Assembly> FindAssembliesWithAttribute<T>(); /// <summary> /// 在指定程序集中查找定义了T特性的程序集 /// </summary> /// <typeparam name="T">特性</typeparam> /// <param name="assemblies">指定程序集</param> /// <returns></returns> IEnumerable<Assembly> FindAssembliesWithAttribute<T>(IEnumerable<Assembly> assemblies); /// <summary> /// 从程序集目录中查找包含有T特性的程序集 /// </summary> /// <typeparam name="T">特性</typeparam> /// <param name="assemblyPath">程序集所在目录</param> /// <returns></returns> IEnumerable<Assembly> FindAssembliesWithAttribute<T>(DirectoryInfo assemblyPath); }
0 0
- NopCommerce(EBuy模拟)中类型查找接口ITypeFinder的设计——反射+泛型
- NopCommerce(EBuy模拟)中Singleton单例的设计——泛型学习
- NopCommerce中(EBuy模拟)AutoMap的使用
- NopCommerce中(EBuy模拟)Autofac容器的使用框架
- NopCommerce添加新功能“类型属性”【注册接口及服务】
- 游戏中基于物理的反射——反射类型(系列二)
- Java反射—模拟Spring的Aop
- NopCommerce学习笔记(一)----IConfigurationSectionHandler 接口的用法
- NopCommerce添加新功能“类型属性”【新功能的实现步骤】
- c#通过反射查找接口的实现 并创造实例
- c#通过反射查找接口的实现 并创造实例
- 反射模拟框架中配置的加载
- NopCommerce之视图设计。
- ebuy遇到的问题以及解决方法
- NopCommerce添加新功能“类型属性”【添加服务接口及服务实现】
- NopCommerce中文文档——目录
- NopCommerce中文文档——开篇
- Result dubbo接口返回类型的设计
- maven pom.xml 详细配置讲解
- android 5.0 ioctl
- Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_PRC_CI_AI"
- CXF webService 调用报错: “Cannot create a secure XMLInputFactory”
- 分享45个android实例源码
- NopCommerce(EBuy模拟)中类型查找接口ITypeFinder的设计——反射+泛型
- 2014年度工作总结
- Android bitmap图片处理
- Android L Mulimedia--MediaHTTPService
- Eclipse设置断点进行调试
- 计算几何之线段性质(一):判断两线段相交
- 这个19岁的程序员把苹果的职位果断拒绝了
- ngui scrollview 数量不够
- 参谋长联席会议思考之二——知与行的转换