在C#中,构造函数按最通用的顺序执行 - 最特殊的(从base到派生)。每个类都继承自Object
,因此将调用Object
的无参数构造函数我的问题是,Object
的构造函数中是否发生了任何事情?
答案 0 :(得分:2)
为什么不看the reference source?
// Creates a new instance of an Object.
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
[System.Runtime.Versioning.NonVersionable]
public Object()
{
}
我不确定它是如何失败的,因为它是空的,但似乎无操作不会失败 - 我没有时间深入研究IL,但我猜这是哪里发生了newobj,所以
如果没有足够的内存来满足请求,则抛出OutOfMemoryException。