我正在處理運輸問題,無法跨越此障礙。我無法將派生類StopsVisited轉換爲其基類停止。基類Stops是Stop的集合。派生類StopsVisited是StopVisited的集合。無法將派生類轉換爲基類
StopVisited元素來自Stop(定義未顯示)。
我有一個非泛型的解決方法,我簡單地從停止派生StopsVisited,但泛型給了我更多的靈活性。我試圖將它簡化爲最簡單的形式。
基地
public abstract class Stops<T> where T : Stop
{
}
衍生
public class StopsVisited : Stops<StopVisited>
{
}
問題:
Stops<Stop> stops = new StopsVisited();
給了我一個
錯誤1無法隱式轉換類型'StopsHeirarchy.StopsVisited'爲'StopsHeirarchy.Stops'
任何幫助表示讚賞。
如果停止只是停止對象的列表,爲什麼不使用IList? – 2009-12-23 21:56:58
另一個泛型協方差問題...看到我的答案在這裏 - http://stackoverflow.com/questions/1443341/explicit-casting-problem/1443351#1443351 – thecoop 2009-12-23 22:16:29