gpt4 book ai didi

c# - C# 中的集合和对象初始值设定项

转载 作者:行者123 更新时间:2023-11-30 15:16:53 25 4
gpt4 key购买 nike

我需要在如下所示的分层数据集中存储对父对象的引用。甚至可以使用对象初始值设定项吗?是否有任何关键字引用“父”初始值设定项,或者我是否必须以经典方式执行此操作 - 首先声明父对象?

(我不知道在“?”字符之间写什么)

Scenarios.Add(new Scenario()
{
scenarioNumber = Scenarios.Count,
scenarioDescription = "Example scenario",
Steps = new BindingList<Step>()
{
new Step(){ parent = ?Scenario?, stepNumber = 1, subSteps = new BindingList<Step>() },
new Step(){ parent = ?Scenario?, stepNumber = 2, subSteps = new BindingList<Step>() },
new Step(){ parent = ?Scenario?, stepNumber = 3,
subSteps = new BindingList<Step>()
{
new Step() { parent = ?Step?, stepNumber = 1, subSteps = new BindingList<Step>() },
new Step() { parent = ?Step?, stepNumber = 2, subSteps = new BindingList<Step>() },
},
}
}
});

最佳答案

对象初始化构造不允许这样做。

您可以改用静态工厂方法,例如:

static Scenario Create(int scenarioNumber, string scenarioDescription, BindingList<Step> steps)
{
var scenario = new Scenario()
{
scenarioNumber = scenarioNumber,
scenarioDescription = scenarioDescription,
};
foreach (var step in steps)
{
step.parent = scenario;
}
scenario.Steps = steps;
return scenario;
}

关于c# - C# 中的集合和对象初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245283/

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