我有具有抽象屬性的基類。我想要所有的繼承類來覆蓋抽象屬性。例如:繼承具有抽象屬性的抽象類
public class Person
{
public string Name{get;set;}
public string LastName{get;set;}
}
public class Employee : Person
{
public string WorkPhone{get;set;}
}
public abstract class MyBase
{
public abstract Person Someone {get;set;}
}
public class TestClass : MyBase
{
public override Employee Someone{get;set;} //this is not working
}
基類有某人屬性Person
類型。我在TestClass
上壓倒Someone
財產。現在我想使用Employee
類型而不是Person
。我的Employee
類繼承自Person
。我無法讓它工作。我應該怎麼做才能避免這個問題?
幫助感謝!
你永遠不會實現Person Person,而Employee Employee不在基類MyBase中。 – Matthew
[c#covariant返回類型利用泛型]的可能重複(http://stackoverflow.com/questions/4348760/c-sharp-covariant-return-types-utilizing-generics) – nawfal