我需要将对父对象的引用存储在如下所示的分层数据集中。甚至可以使用对象初始化程序吗?是否有任何关键字指向“父”初始化程序,还是我必须以经典方式进行此操作-首先声明父对象?
(我不知道在'?'字符之间写什么)
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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句