反射
什么是反射
反射本质上是.Net Framework 提供的一个帮助类库。
先从C#代码执行原理上了解一下反射。
如上图,通过编写的代码(高级语言,人类能够看懂),在VS内置的编译器中进行编译操作(首次编译),从而产生DLL(类库生成DLL)或执行文件;如果需要打开首次编译的文件,是需要一个依赖环境,即,CLR(安装.Net Framework时,自动配置的环境,里面包含了一些基本类库等)+ JIT(即时编译器);然后,执行文件在JIT的编译(二次编译)下,最终形成机器语言。
为什么需要二次编译呢?是希望能够在不同的平台使用。
CLR就像一个“适配器”,会根据不同的平台产生不同版本CLR,这里简单提一下,网上有很多资料可供查阅。