我需要一個基類與屬性,我可以派生具有相同屬性但不同(兼容)類型的類。基類可以是抽象的。覆蓋屬性與不同的兼容類型
public class Base
{
public virtual object prop { get; set; }
}
public class StrBase : Base
{
public override string prop { get; set; } // compiler error
}
public class UseIt
{
public void use()
{
List<Base> l = new List<Base>();
//...
}
}
我泛型嘗試過,但在使用這個類的時候,因爲我想以不同類型的基類存儲在目錄給了我一個問題。
public class BaseG<T>
{
public T prop { get; set; }
}
public class UseIt
{
public void use()
{
List<BaseG> l = new List<BaseG>(); // requires type argument
//...
}
}
+1:這是一個乾淨的解決手頭問題的方法。從通用部分中分離出基類。 – 2010-06-29 15:16:43