假設我有類似如下的對象初始化:如何引用在初始化程序中用c#初始化的對象?
var coolObject = new CoolObject()
{
GetObjectState =() => coolObject.InternalState;
}
哪裏GetObjectState是返回某種對象的狀態上CoolObject的功能。在這種情況下,我希望該函數簡單地返回coolObject的內部狀態對象。代碼對象顯然不會編譯,因爲在聲明它之前不能引用局部變量。
有沒有辦法解決這個問題?是否有類似於初始化程序的「this」關鍵字?
你必須使用構造函數嗎?有什麼原因讓你不能在CoolObject上擁有一個靜態屬性並將其用於你的任務? – wsanville
@wsanville可能因爲不同的實例需要返回不同的對象狀態。 –
這是不是構造函數的一部分的原因嗎?這就是我們有建設者採取論據和做事的原因之一。 –