我有兩個接口:C#繼承問題
public interface A {
void aMethod();
}
public interface B : A {
void bMethod();
}
後來我基本上使用的字典是這樣的:
Dictionary<int, A> dict = new Dictionary<int, B>();
C#是說我不能向右轉換左邊,即使我投了它。有沒有辦法在C#中使用泛型,以便這可以工作?如果我讓他們抽象類似乎沒問題,但我需要這些作爲接口。
您使用的是什麼版本的.NET? – Dinah 2010-11-10 16:45:45
@Dinah:爲什麼在這種情況下框架版本會有所作爲? – LukeH 2010-11-10 17:27:10
@LukeH:因爲.NET 4.0有可能解決這個問題的協方差和反方差。如果dmurph儘管在4.0版本中有這個問題,問題將會與4.0之前發生的問題有所不同 – Dinah 2010-11-10 17:40:29