private void SharingFieldOE2WellOE(InputData inputData)
{
var resultsField = new Object();
if (inputData.CashflowModel.Equals("BC"))
{
resultsField = new List<ResultsBC>();
}
else if (inputData.CashflowModel.Equals("GC"))
{
resultsField = new List<ResultsGC>();
}
resultsField[1].Date = "08/08/2017"
}
上面我不能用指数resultsField因为是Object类型,而不是一个列表<结果? >如我所愿。 我在做什么错了,或者如何将这个对象转换为我定义的类型? 只会存在一个结果??类型。我可以使用null或某个空值初始化var吗?对于之后将变量定义为我定义的另一种类型?
听起来像是你需要创建一个包含ResultsBC'和'ResultsGC'之间'的公共属性的接口。然后你只需要声明你的变量为:'名单 resultsField;' –
maccettura
号'var'是在设计时,编译器确定。 –
'var'它不是动态类型,它只是一个语法糖,所以当你使用关键字'var'时,编译器知道变量的类型,并且你不能改变这个类型。所以,你可以使用一些常见的类型:接口或基类才达到你想要什么,或者如果你使用这个列表其他地方你不得不到处宣称用同样的方式可以用'dynamic'类型,它 –