🚀 优质资源分享 🚀
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
前言
为什么有反射这个系列,这个系列后,asp net 将会进入深入篇,如果没有这个反射系列,那么asp net的源码,看了可能会觉得头晕,里面的依赖注入包括框架源码是大量的反射。
正文
下面是官方文档的介绍:
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/reflection
说的比较绕,反射就是用来动态创建对象的。
那么什么是动态创建对象? 动态创建对象就是运行时创建对象。
那么为什么需要动态创建对象呢?
可以思考一下,我们写代码的时候为什么需要动态创建?
这里我举一个例子。
比如说,eventbus,通过不同的字符串反射成不同的事件。
可能有人没怎么接触这个eventbus,再举个例子。
有一个api,用户可以传入动物的名字和该动物的一些属性,那么当我们拿到这些字符串的时候,我们在内部根据动物的名字和属性创建响应的对象。
反射动态创建对象:
static void Main(string[] ar