带有可选参数的Activator.CreateInstance

时间:2012-06-12 18:22:47

标签: reflection .net-4.0 optional-parameters

有没有人知道如何使用只有一个可选参数的构造函数来实例化一个类?

我试过了两次

(T)Activator.CreateInstance(typeof(T), new object[] { Type.Missing });

(T)Activator.CreateInstance(typeof(T), new object[] { });

没有成功......我遇到了MissingMethodException

1 个答案:

答案 0 :(得分:27)

这有效:

(T)Activator.CreateInstance(typeof(T), 
                    BindingFlags.CreateInstance |
                    BindingFlags.Public |
                    BindingFlags.Instance | 
                    BindingFlags.OptionalParamBinding,null, new object[] {Type.Missing },CultureInfo.CurrentCulture);