创建对象的时候可以直接实例化或者利用反射。
我刚开始看明白反射的使用的时候,我也是觉得访问一个对象的属性的时候,直接先new一个对象,然后再xx.xx去直接访问这个对象里面的所有相关方法就行了,会觉得C#反射这个特性没有啥存在的必要,当然是开玩笑,毕竟我才刚接触C#没多久。下面解释了使用反射和new的区别以及好处。
-
如果是访问到dll里面类的属性,只能通过反射去访问
-
new写的比较死
-
如果输入量或者改bug需要增加的字段有很多很多,那么我们使用new的时候需要去一条条写赋值语句,而反射只需要写一个工具类即可
-
当你的程序需要在运行时再做一些晚绑定,动态加载或检查对象等操作时,就需要用到反射。因为反射是为了动态地运行时加载,而静态代码是在编译时就确定了的。
关于区别,我觉得这篇已经讲的很好了,可以参考:https://blog.csdn.net/weixin_44693109/article/details/109630226?ops_request_misc={"request_id"%3A"162064224216780262513808"%2C"scm"%3A"20140713.130102334.pc_all."}
其他参考:https://q.cnblogs.com/q/DetailPage/31052/