【发布时间】:2011-01-14 02:02:18
【问题描述】:
我有一个函数,此时需要一个Type 变量。该函数将其粘贴在列表中,并且最终需要将创建该类型的类。
我现在这样做
object o=MyType.GetConstructors()[0].Invoke(new object[0]);
这很 hacky,并且由于反射(我认为)也不会在中等信任下工作。有没有更好的方法来做到这一点而无需反思?
Type 以这种方式定义为函数的一部分。我需要“懒惰地”创建该类,因为如果不需要它,它可能不会在应用程序中创建。例如,我使用它
AddToList(typeof(Whatever));
请注意,我愿意接受有关更改函数调用的建议。我只需要延迟创建对象并将类型(或者创建该类型的对象)存储在列表中。
我考虑过 lambda,但我不确定它们是否可以在这里工作。
【问题讨论】:
-
"reflection" 几乎被定义为你想要做的事情......你为什么要这样做?
Type来自哪里? -
你在创建对象工厂吗?如果是这样,您可能对blogs.lessthandot.com/index.php/DesktopDev/MSTech/… 感兴趣
标签: c# asp.net reflection medium-trust