C#基础--反射

反射

一、为什么学习反射

因为反射真的是无处不在,ORM、MVC、IOC、AOP、Attribute等等都会使用到反射。反射是程序员的快乐

二、什么是反射

C#基础--反射_第1张图片

Ilspy:逆向工程,可以吧DLL/Exe文件反编译回来

C#基础--反射_第2张图片

DLL/EXE 文件下包含Metadata和IL,IL是对标于C#代码的代码,属于中间语言,是标准的面向对象语言

image-20220302190125450

而Metadata(元数据)是一个清单数据,只是描述了类中有什么,而不是展示所有的实现。一般我们用F12查看元数据,可以发现只有方法体没有声明:

image-20220302190537206

反射是一种工具,命名空间为System.Reflection&#x

你可能感兴趣的:(C#,.Net,c#,asp.net,后端)