gpt4 book ai didi

c# - 如何使用 c# 在初始化程序中引用正在初始化的对象?

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:57 25 4
gpt4 key购买 nike

假设我有一个类似于下面的对象初始化器:

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

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

有解决办法吗?是否有类似于初始化器的“this”关键字的东西?

最佳答案

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

虽然如果 coolObject 的值在调用之前发生变化,这段代码是不安全的。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com