5
我使用C#4.0(RC)才刚起步,并想出了这个问题,默认值的构造函数:反映在C#4.0
class Class1 { public Class1() { } }
class Class2 { public Class2(string param1) { } }
class Class3 { public Class3(string param1 = "default") { } }
Type[] types = new Type[] { typeof(Class1), typeof(Class2), typeof(Class3) };
// Problem starts here, main-method
for(int i = 0; i < types.Length; i++)
{
ConstructorInfo ctr = provider.GetConstructor(Type.EmptyTypes);
Console.WriteLine(ctr == null ? "null" : ctr.Name);
}
注意,我从来没有试过这种实际的代码,但我只是看着在VS2010做GetConstructor使用调试的结果
这是完美的两个第一类(1和2),第一个打印的参数的构造函数的实际ConstructorInfo对象的名字Class1,第二个打印为空。但是,第三个问题出现了,因为我真正想要的不是知道它是否需要0参数,而是我是否可以在不带任何参数的情况下创建该类的实例。我怎么做?