代码改变世界

随笔分类 -  反射

只有ReflectionOnlyLoadFrom才可以拯救与GAC冲突的强命名程序集

2017-08-15 09:15 by 杨新华, 614 阅读, 收藏, 编辑
摘要: 先说结论,如果有两个拥有相同程序集名称的强命名程序集,一个在GAC里,一个不在。怎样动态加载那个不在GAC里的程序集?答案就是只有Assembly.ReflectionOnlyLoadFrom才可以加载这个程序集, 比如我们把system.dll文件拷贝到D盘(注意应用程序域默认会加载mscorli 阅读全文

【原创】特性与反射(二)

2012-06-10 23:22 by 杨新华, 476 阅读, 收藏, 编辑
摘要: 接着上一章的内容讲.回顾一下,上一章主要讲了特性的定义,创建自定义特性,本章说一下如何获得元数据并在程序中使用它.利用反射可以让自定义特性的功能发挥作用.反射通常被用在4种任务(1)查看元数据(2)执行类型发现功能(3)延迟绑定到方法和属性上(4)在运行机制时创建类型一:查看元数据接着上一章的自定义特性代码进行进一步应用.先上代码 1 MyMath mm = new MyMath(); 2 Console.WriteLine(mm.DoFun1(2)); 3 4 5 6 //获取成员信息,并使用它获取自定义特性 7 ... 阅读全文

【原创】反射应用一InvokeMember

2012-06-05 17:22 by 杨新华, 807 阅读, 收藏, 编辑
摘要: 反射是.net中的高级功能之一,利用反射可以动态的实例化类的对象,并且可以调用其方法及成员属性。所以学习好反射是很重要的。今天我就写一写简单的反射实现InvokeMember至于关于这个函数,可以去MSDN上去查看。我只说一些和实际开发中的一些小例子。本例子要点:如何利用InvokeMember动态实例化一个类,并且去调用类内部的方法及成员属性讲解如下:(1)首先我先建立一个类库,在类库里面建立一个类,供我一会利用反射动态调用,代码如下 1 public class TestCustomerAttr 2 { 3 private string name; 4 5 ... 阅读全文
点击右上角即可分享
微信分享提示