C# 对象构造函数调用

C# 对象构造函数调用,c#,C#,在C#中,构造函数是按最一般和最特殊(从基到派生)的顺序执行的。每个类都继承自对象,因此将调用对象的无参数构造函数。我的问题是,对象的构造函数中是否发生了任何事情?为什么不看一下 考虑到它是空的,我不确定它怎么会失败,但似乎一个无操作不能失败——我没有时间深入研究IL,但我猜这就是a发生的地方,等等 如果内存不足以满足请求,则引发OutOfMemoryException 为什么不看看呢 考虑到它是空的,我不确定它怎么会失败,但似乎一个无操作不能失败——我没有时间深入研究IL,但我猜这就是a发生的

在C#中,构造函数是按最一般和最特殊(从基到派生)的顺序执行的。每个类都继承自
对象
,因此将调用
对象
的无参数构造函数。我的问题是,
对象
的构造函数中是否发生了任何事情?

为什么不看一下

考虑到它是空的,我不确定它怎么会失败,但似乎一个无操作不能失败——我没有时间深入研究IL,但我猜这就是a发生的地方,等等

如果内存不足以满足请求,则引发OutOfMemoryException

为什么不看看呢

考虑到它是空的,我不确定它怎么会失败,但似乎一个无操作不能失败——我没有时间深入研究IL,但我猜这就是a发生的地方,等等

如果内存不足以满足请求,则引发OutOfMemoryException


看看源代码,自己看看。看看源代码,自己看看。不清楚你是说它会(因为
Cer.MayFail
),还是说它什么都不做(因为身体是空的)。哈!如果它能失败,它会有所作为,嗯?我一直在试图弄清楚到底是什么。现在还不清楚你是说它会(因为
Cer.MayFail
),还是说它什么都不做(因为身体是空的)。哈!如果它能失败,它会有所作为,嗯?我一直在想到底是什么。
    // Creates a new instance of an Object.
    [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
    [System.Runtime.Versioning.NonVersionable]
    public Object()
    {            
    }