这是我使用的代码:
Type type = /* retrieved Type */
object arg = /* something that evaluates to null */
MyClass obj = (MyClass)Activator.CreateInstance(type, arg);
我遇到了崩溃,类型type上不存在给定的构造函数。
但是,当我将其放入 Visual Studio 2008 中的 Watch 中时:
(MyClass)System.Activator.CreateInstance(type, null)
它像往常一样创建对象。
我什至尝试用我放入 Watch 的代码替换我的代码。它有效 - 对象被创建。
我的问题:这是怎么回事?
编辑: MyClass没有任何构造函数——除了预生成的无参数构造函数。
编辑2:使用new object[0]
而不是null
仍然会导致相同的异常。