C# 反射
1、反射获取程序集的三种方式
- Assembly.Load();//这种方式只需提供程序集的名称
- Assembly.LoadFile(path);//这种方式需要提供程序集完整的路径
- Assembly.LoadFrom("Lys.dll");//需要程序集名称及其后缀名。
2、获取类型
- Assembly.GetTypes()://获取所有类型
- assembly.GetType("命名空间.类名"); //获取指定类型
3、GetType
1 Type type = assembly.GetType("Lys.UIteamanLys"); 2 PropertyInfo[] props = type.GetProperties(); 3 FieldInfo[] fields = type.GetFields(); 4 MethodInfo[] methods = type.GetMethods();
4、Assembly自带的CreateInstance()
- 自带的Createinstance实例化对象时需要指明命名空间和类名
1 object o = assembly.CreateInstance("Lys.UIteamanLys"); 2 dynamic d = assembly.CreateInstance("Lys.UIteamanLys");
------------恢复内容开始------------
1、反射获取程序集的三种方式
- Assembly.Load();//这种方式只需提供程序集的名称
- Assembly.LoadFile(path);//这种方式需要提供程序集完整的路径
- Assembly.LoadFrom("Lys.dll");//需要程序集名称及其后缀名。
2、获取类型
- Assembly.GetTypes()://获取所有类型
- assembly.GetType("命名空间.类名"); //获取指定类型
3、GetType
1 Type type = assembly.GetType("Lys.UIteamanLys"); 2 PropertyInfo[] props = type.GetProperties(); 3 FieldInfo[] fields = type.GetFields(); 4 MethodInfo[] methods = type.GetMethods();
4、Assembly自带的CreateInstance()
- 自带的Createinstance实例化对象时需要指明命名空间和类名
1 object o = assembly.CreateInstance("Lys.UIteamanLys"); 2 dynamic d = assembly.CreateInstance("Lys.UIteamanLys");
5、多态的使用
1 IUltraman lys = (Iultraman)assembly.CreatInstance("Lys.UItramanLys"); 2 lys.Name = "迪迦"; 3 string res = lys.Attack():
6、配置文件的使用
1 <appSettings> 2 <add key="ultraman" value="Lys.UltramanLys | Lys.dll"> 3 //<add key="ultraman" value="Lys.UltramanLys | Lys.dll"> 4 </appSettings>
至此,所有的配置都安装完毕啦,如果你觉得有用,点个赞吧!
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐];
如果您想转载本博客,请注明出处;
如果您对本文有意见或者建议,欢迎留言;
感谢您的阅读,请关注我的后续博客。