假设我有一个类似于以下内容的对象初始化程序:

var coolObject = new CoolObject()
{
    GetObjectState = () => coolObject.InternalState;
}


其中,GetObjectState是CoolObject上的一个Function,它返回某种对象状态。在这种情况下,我希望该函数简单地返回coolObject的内部状态对象。代码对象显然不会编译,因为您不能在声明局部变量之前引用它。

有没有解决的办法?初始化程序是否有类似于“ this”关键字的内容?

最佳答案

CoolObject coolObject = null;
coolObject = new CoolObject()
{
    GetObjectState = () => coolObject.InternalState;
}


尽管如果coolObject的值在调用之前更改,此代码是不安全的。

关于c# - 如何引用使用C#在初始化程序中初始化的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7878429/

10-13 05:55