我有例如如何處理通用遺產
public class BaseClass
{}
public class DerivedClass1 : BaseClass
{}
public class DerivedClass2 : BaseClass
{ }
public class DerivedClass3 : BaseClass
{ }
public class GenericBaseClass<T> where T : BaseClass
{
public List<T> collection { get; set; }
}
這個代碼現在,我想創建一個新的類,它會從GenericBaseClass<T>
繼承和總得有這一類的集合列表。
這是甚至有可能這樣嗎? 因爲List<BaseClass> = new List<DerivedCLass3>();
無效。
要達到此目的,唯一的方法是從GenericBaseClass
中刪除collection
屬性,並直接在派生類中添加集合List。
我希望我自己表示理解,因爲英語不是我的第一語言:-)
你說:「我想創建一個新的類,它會從GenericBaseClass繼承」。什麼是「T」? 「T」僅在GenericBaseClass 的聲明範圍內。你的意思是你想讓派生類成爲GenericBaseClass 中的嵌套類嗎?或者你的意思是你想要聲明一個不同的通用類型,它具有不同的T? –
2009-12-28 15:59:59