下面的代碼提供了錯誤 「無法將類型‘的Calendar.MONTH’到‘System.Collections.Generic.List’」:不能在C#中調用重寫列表<T>。新增(...)
public class Month : List<Day>, INotifyPropertyChanged
{
public Month() { /* NOP */ }
public new void Add<Day>(Day pValue)
{
var list = (List<Day>)this;
list.Add(pValue);
}
}
我已經在這裏學習的建議: Why does calling a method in my derived class call the base class method?
這裏:
C# Call shadow method with generic cast
我想用一個Month.Add(...)方法重載List.Add(...)方法以將事件發送到目標XAML容器類,然後調用重寫的List.Add(...)方法。順便說一句,我使用的是VS2012,.NET 4.5,並且該應用程序是用於Win Phone 8(稍後的版本目前不是一個選項 - 對不起)。我提到這一點是因爲我從Win 8和Win 10之間的經驗知道很多。
我確定您的意思是'base.Add(pValue);'而不是'list.Add(pValue);' –
而不是使用繼承爲什麼不使用組合? – juharr
爲什麼要繼承'List'而不是'Collection '? –
Dennis