155得票5回答
如何使用反射动态创建通用的C#对象?

在C#中,我有以下的对象:public class Item { } public class Task<T> { } public class TaskA<T> : Task<T> { } public class TaskB<T> : ...

55得票6回答
C#使用Activator.CreateInstance

昨天我提出了一个问题,关于使用反射或策略模式来动态调用方法。 然而,自那时起,我已决定将这些方法更改为实现共同接口的单独类。原因是每个类虽然有一些相似之处,但也执行着某些仅适用于该类的独特方法。 我之前使用的是一个策略模式:switch (method) { case "Pivot...

50得票5回答
如何使用Activator创建一个泛型类型的实例并将其转换回该类型?

我有一个泛型类型Store<T>,并使用Activator创建该类型的实例。现在,在使用Activator之后,如何将类型为object的结果对象强制转换回实例化的类型?我知道用于实例化泛型的类型。请参见以下代码: class Store<T> where T : I...

39得票6回答
快速创建对象而不是使用 Activator.CreateInstance(type)

我正在努力提升我们应用程序的性能。我们有很多Activator.CreateInstance的调用,这些调用导致了一些问题。 我们根据一个接口(ITabDocument)实例化了很多类,经过一番搜索后,我想到了使用这段代码: 这段代码并没有比我们之前使用的Activator.CreateI...

38得票5回答
如何使用Activator.CreateInstance和字符串?

在我的反射性代码中,我遇到了一个关于通用代码块的问题,特别是当我使用字符串时。var oVal = (object)"Test"; var oType = oVal.GetType(); var sz = Activator.CreateInstance(oType, oVal); 异常An ...

36得票5回答
System.Activator.CreateInstance(T)是否存在性能问题,足以阻止我们随意使用它?

System.Activator.CreateInstance(T) 方法是否存在性能问题(因为我怀疑它使用反射),这种问题是否足以阻止我们随意使用它?

32得票9回答
.NET:无法将对象转换为其实现的接口

我有一个类TabControlH60,它既继承自基类UserControl,又实现了接口IFrameworkClient。我使用.NET Activator类实例化对象。我可以将返回的实例强制转换为UserControl基类,但无法转换为接口。下面是我得到的异常。如何将其转换为接口?objec...

27得票10回答
Activator.CreateInstance找不到构造函数(MissingMethodException)

我有一个类,它有以下构造函数 public DelayCompositeDesigner(DelayComposite CompositeObject) { InitializeComponent(); compositeObject = CompositeObject; ...

20得票6回答
我可以使用Activator.CreateInstance来创建一个接口实例吗?

我有一个例子: Assembly asm = Assembly.Load("ClassLibrary1"); Type ob = asm.GetType("ClassLibrary1.UserControl1"); UserControl uc =...

14得票2回答
在给定“where T : new()”的情况下,“new T()”是否在内部使用Activator.CreateInstance?

如果我有一个类型参数约束new(): void Foo<T>() where T : new() { var t = new T(); } new T() 是否真的会内部使用 Activator.CreateInstance 方法(即反射)?