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'類型,它 –