获取到集成指定类,接口等的类

摘要:
lstTypeClass=newList<1213TypeoInterfaceType=类型(IStudent);=null).ToList();22if(item.GetInterface(oInterfaceType.Name).Equals(oInterface=Type))23{24Console.WriteLine(item.Name);

利用反射获取到实现当前接口的类,

本文只做代码验证,无任何实际意义

具体代码如下

 1 namespace General.Cons
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             //假设从接口程序集中获得到的类集合
 8             List<Type> lstTypeClass = new List<Type>
 9             {
10                 typeof(Student),  typeof(StudentNo)
11             };
12 
13             Type oInterfaceType = typeof(IStudent);
14 
15             //在类集合中找到集成当前接口的类  集合
16             var lstTypeClassTmp = lstTypeClass.Where(x => x.GetInterface(oInterfaceType.Name) != null).ToList();
17             if (lstTypeClassTmp.Any())
18             {
19                 foreach (var item in lstTypeClassTmp)
20                 {
21                     //如果当前类获取到的接口等于遍历的接口名称,则匹配成功,
22                     if (item.GetInterface(oInterfaceType.Name).Equals(oInterfaceType))
23                     {
24                         Console.WriteLine(item.Name);
25                     }
26                 }
27                
28             }
29 
30             Console.WriteLine("Hello World!");
31             Console.ReadKey();
32         }
33     }
34 
35     public interface IStudent {
36         string GetName();
37     }
38     public class Student : IStudent
39     {
40         public string GetName()
41         {
42             return "Name";
43         }
44     }
45     public class StudentNo:IStudent
46     {
47         public string GetName()
48         {
49             return "Name";
50         }
51     }
52 }

免责声明:文章转载自《获取到集成指定类,接口等的类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux如何解决动态库的版本控制VMware虚拟机 Ubuntu 实用技巧 (1) -- 安装VMware Tool下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

AutoFac实现程序集级别的依赖注入

1、介绍 所谓程序集级别的依赖注入是指接口和实现的依赖不使用配置文件或硬代码实现(builder.RegisterType<UserInfoService>().As<IUserInfoService>();),而是通过名称约定实现依赖注入 2、项目接口及dll 2.1 项目结构(创建MVC3项目) 2.2 UI层需引入的dl...

springboot整合dubbo的简单案例

使用框架:   jdk 1.8   springboot-2.1.3    dubbo-2.6   spring-data-jpa-2.1.5 一、开发dubbo服务接口: 按照Dubbo官方开发建议,创建一个接口项目,该项目只定义接口和model类; 1、创建springboot工程 spring-boot-demo-dubbo-interface 坐标...

项目开发规范(编码规范、命名规范、安全规范、前端优化、源码提交规范、代码维护规范、产品发布规范)...

第一节:编码过程的命名约定(编码命名规范) ====================================================================================== ====================================PHP编码规范==========================...

API的理解

API(Application Programming Interface,应用程序编程接口:是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 通俗的讲API就是接口,就是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数。 API通常是以Http的形式提供,它隐...

接口测试中抓包工具的使用

在被测接口并没有明确的接口文档给出时,我们需要借助抓包工具来帮助测试,利用抓包工具我们几乎可以获得接口文档中能给你的一切。常见的抓包工具有Charles和Fiddler, Fiddler只能用在Windows平台, 而Charles可用于Windows, Mac, IOS和Android多平台。下面就总结一下Charles的用法。 一、Web抓取   Ch...

Java-修饰符

Java修饰符 修饰符用来定义类、方法或者变量,通常放在语句的最前端 访问控制修饰符 访问控制符可以保护对类、变量、方法和构造方法的访问 四中不同的访问权限: default,在同一包内可见,不使用任何修饰符 private,在同一类内可见 public,对所有类可见 protected,对同一包内的类和所有子类可见 默认访问修饰符-不使用...