【发布时间】:2018-03-25 22:59:02
【问题描述】:
我正在我的大学学习 C#,我必须使用反射创建一个通用类实例,但我不知道该怎么做。这是我的代码:
public class MyClass <A, B>
{
protected A a;
protected B b;
public MyClass(A a, B b) { this.a = a; this.b = b; }
}
static void Main(string[] args)
{
Type typ = typeof(MyClass<int, int>);
object obj = Activator.CreateInstance(typ);
}
我的问题是:如何将参数传递给构造函数并使用 typeof 初始化字段(类似于 MyClass c= new MyClass(4, 6); 而不使用反射)?
【问题讨论】:
-
如果您在创建对象时询问如何为构造函数提供参数,那么可以通过
Activator.CreateInstance(typ, new object[] { 4, 6 })或Activator.CreateInstance(typ, 4, 6)来完成。 -
是的,这就是答案。谢谢。
标签: c# reflection