在下面的示例中,我有一個稱爲GetList的方法,它接受一個字符串參數並返回一個List實體。我在一個通用的IEnumerable變量中捕獲它,因爲在運行時我不知道用戶可能需要什麼實體。我如何使用實際的類型而不是對象?IEnumerable變量類型
我要取代這個...
IEnumerable<object> data = GetList(entityName);
有了這個...
IEnumerable<Company> data = GetList(entityName);
我能想到的處理是正確的,現在該我不打算這樣做的唯一途徑因爲我們有300多個實體是一樣的東西
switch(entitName)
{
case "Company":
IEnumerable<Company> data = GetList(entityName);
break;
case "Employee":
IEnumerable<Employee> data = GetList(entityName);
break;
...
}
'GetList(entityName).Cast()' –
雖然我不知道它會是公司。它可能是員工或角色等..我唯一的信息是一個字符串(entityName)表示他們想要查詢的實體。 – jjf1978
那麼,在這種情況下,你應該保持你的對象。編譯器也不會爲你知道。你將不得不做出一些類型的猜測來知道你正在使用什麼類型。或者您需要向我們提供代碼執行的環境,以便我們找到解決方法。 –