通俗的讲一下什么是反射(C#)?最好讲讲自己的看法理解!

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:55:45
最好讲讲自己的看法理解!
MSDN上的都看过啊,看不懂,希望大家能说的通俗点?我会给大家加分的

反射的解释在msdn上有:http://msdn.microsoft.com/zh-cn/library/ms173183(VS.80).aspx

希望对你有帮助。

C# 编程指南
反射(C# 编程指南)

反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。有关更多信息,请参见属性。
————————————————————————————

这是msdn说的,就是说反射,可以动态创建类型的实例,比如给你个例子:

int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);

返回的结果是System.Int32 ,此示例使用反射获取已加载的程序集的完整名称

http://msdn.microsoft.com/zh-cn/library/ms173183.aspx

我觉得反射就是根据类名而构造一个他的对象。。

面向对象中存在一个封装的概念,也就是说,你需要构建一个封装体的实例(类或对象),然后呢,你才可以访问这个封装体封装的方法、属性等等,但是使用反射,你可以不需要构建这个封装体的实例,你就可以知道这个封装体是个什么类型的东西,并且可以看到这个封装体里面封装了什么样的方法、属性等等。

现有int i = 2;
现在用反射就可以通过‘2’得到变量的名称i