Следующий код выдает ошибку "Невозможно преобразовать тип 'Calendar.Month' до '' System.Collections.Generic.List":не может вызвать ПЕРЕОПРЕДЕЛЕНЫ Список <T> .Add (...) в C#
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
Я хочу переопределить метод List.Add (...) методом Month.Add (...) для отправки события в целевые классы контейнеров XAML, а затем вызвать переопределенный метод List.Add (...) ,
Кстати, я использую VS2012, .NET 4.5, а приложение для Win Phone 8 (более поздние версии в настоящее время не являются опцией - извините). Я упоминаю об этом, потому что я знаю по опыту многое изменилось между Win Phone 8 и Win 10.
Я уверен, что вы имеете в виду 'base.Add (pValue);' вместо 'list.Add (pValue);' –
Вместо используя наследование, почему бы не использовать композицию? – juharr
Почему вы хотите наследовать от 'List' вместо 'Collection '? –
Dennis