在工作中阅读现有代码,我想知道这是如何工作的。我有一个在程序集中定义的类:
[Serializable]
public class A
{
private readonly string _name;
private A(string name)
{
_name = name;
}
}
在另一个程序集中:
public void f(Type t) {
object o = Activator.CreateInstance(t);
}
需要调用 f(typeof(A))
我原本期望会抛出一个关于无参数构造函数缺失的异常,因为在我的理解中,如果已经声明了构造函数,编译器就不会生成默认的公共无参构造函数。
这段代码运行在.NET 2.0下。
[编辑]对不起,我误读了实际的代码... 我提供的示例并没有说明问题。我接受了JonH的答案,因为它提供了一条很好的信息。