时间:2010-04-24 18:35:19

标签: c# asp.net reflection web-applications interface

我最近开始在一家新公司工作,我们使用反射构建了一个.net Web应用程序。我刚刚离开学校一年,并没有使用这个概念。在研究了代码之后......看起来有一个类型为object的后端接口,它有大约20个继承自它的类。许多通用的获取和设置

从表面上看,它看起来像是我的标准继承。我想我的问题是,是什么让这种反思?是因为界面没有强类型?

由于

4 个答案:

答案 0 :(得分:9)

请先阅读维基百科上的Reflection。然后查看MSDN上的Reflection Namespace

我相信我知道你遇到的一般模式。由于用户可以在运行时指定类型和成员名称,因此需要进行反射。然后程序必须使用反射将提供的名称映射到实际的类型成员。

一般来说,如果您的程序在运行时检查对象类型,那么您正在使用反射。

BTW,是语言类型系统的属性,但任何应用程序或结构(例如界面等) )用这种语言写的。即。 “许多人认为C#是强类型语言”

答案 1 :(得分:1)

答案 2 :(得分:0)

“反射:能够在运行时发现类型的组合(例如,类,接口,结构,枚举或委托)。”

我相信你的同事指的是他们如何实例化你的对象。我确定你的对象是使用标准继承构建的。

答案 3 :(得分:0)

a)应用程序无法使用反射进行购买。反思很可能是应用程序的一部分。就像你提到的一个父母和20个孩子课的继承一样。

b)反射用于在运行时分析对象。暗示假设你有一个对象参考类型对象,也许这个对象类型可能会有所不同,你想在运行时看到属性然后使用反射。另一种情况是你必须调用一个方法,但你真的不知道哪种方法及其一般方法。

c)因为它是一个.net应用程序,在vb.net的情况下,一行像objectinstance。 GetType .somemethod将指向反射。检查出来