26

オプションのパラメーターが1つしかないコンストラクターを使用してクラスをインスタンス化する方法を知っている人はいますか?

私は両方を試しました

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

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

成功しません...MissingMethodExceptionが発生します

4

1 に答える 1

36

これはうまくいきました:

(T)Activator.CreateInstance(typeof(T), 
                    BindingFlags.CreateInstance |
                    BindingFlags.Public |
                    BindingFlags.Instance | 
                    BindingFlags.OptionalParamBinding,null, new object[] {Type.Missing },CultureInfo.CurrentCulture);
于 2012-06-12T19:05:08.083 に答える