关于这个错误,网上的版本很多,但是几乎没有几个是能从根本上解决本问题的。没有几篇博客是从反射的方法上考虑而是直接推出解决办法。但是其中有很多解决办法是不对的。从而导致我花费了大量的时间去尝试该错误的解决。最终我还是找到了一片良心文章,作者很是细心,文章写的很仔细。帮助我解决反射问题的同时让我明白了反射方法的实际运行机理。在此感谢此作者。下面是该作者文章链接,希望对大家有所帮助。
https://www.cnblogs.com/cheng2015/p/5415624.html
当我看完这篇文章之后我认为我对反射已经没有什么好写的了,但是为了加强我的记忆,以及补充一些细微之处,我打算该文章摘抄一下。
首相我们需要导入System.Reflection命名空间
然后是我们的反射语句,注意反射的返回值一般是object类型的值所以我们一般会在反射前设置强转类型。
1、反射其他程序集中的类,或者其他项目中的类
反射语句分为两部分:
第一部分加载程序集 Assembly assembly = Assembly.LoadFile(“程序集路径,不能是相对路径”); // 加载程序集(EXE 或 DLL)
第二部分创建类的实例
object obj = assembly.CreateInstance(“类的完全限定名(即包括命名空间)”); // 创建类的实例
2、获得当前项目中的类(和当前项目引用的程序集中的类)
可以为
Assembly assembly &#