我是一名Java開發人員,我注意到在c#中擴展抽象類與Java相比存在一些差異。我想知道一個C#開發人員如何實現以下功能。在c中擴展抽象類#
1)
協變性public abstract class A {
public abstract List<B> List();
}
public class BList : List<B> {
}
public abstract class C : A {
public abstract BList List();
}
所以在上面的層次中,有在協變性C,其中它返回兼容的類型與什麼甲回報。但是,這在Visual Studio中給了我一個錯誤。有沒有辦法在c#中指定covarient返回類型?
2)添加一個設置器,一屬性
public abstract class A {
public abstract String Name { get; }
}
public abstract class B : A {
public abstract String Name { get; set }
}
在這裏,編譯器抱怨隱藏的。有什麼建議麼?
請不要建議使用接口,除非這是唯一的方法。
重寫虛擬方法時,C#不支持返回類型協方差,抱歉! – 2010-05-05 15:06:51