可能重複的範圍之外:
Does C# support return type covariance?
Why can’t I implement an Interface this way?使用協方差的IEnumerable <T>
考慮以下幾點:
public interface IAnimal {
}
public class Animal : IAnimal {
}
public interface ICage {
IAnimal SomeAnimal {get;}
}
public class Cage : ICage{
public Animal SomeAnimal { get; set; }
}
我已經讀了很多東西在co IEnumerable的方差和逆變,但我不知道如何讓上面的代碼工作。我收到錯誤「Cage不實現接口成員IAnimal」。由於它定義了動物,它比IAnimal更加定義,似乎協變應該照顧我。
我錯過了什麼?提前致謝。
'public Animal {get;組; }'不應該編譯 - 你缺少名稱或返回類型。 –
@Damien_The_Unbeliever謝謝,修正。 – manu08
我相信內置支持(迄今爲止)只處理泛型類型參數。 –