Я пишу программу на C #, которая имеет собственную коллекцию. Пользовательская коллекция выполняет некоторые полезные агрегатные функции (AllSuccessful,% Successful и т. Д.) Над своими членами типа ResultInfo. У меня есть несколько классов, производных от ResultInfo (UploadResultInfo, XUploadResultInfo и YUploadResultInfo), и я хотел бы иметь дополнительные коллекции, наследуемые от ResultInfoCollection, которые имеют дополнительные агрегатные функции. Единственная проблема с этим, как указано, состоит в том, что он оставляет бесполезным
public void Add(ResultInfo item)
{
}
в коллекции. Уточнение: этот метод принимает аргумент типа ResultInfo, но ResultInfo, добавленный в UploadResultInfoCollection, выдаст ошибку. Существует ли элегантный способ решения моей проблемы? Я рассматривал дженерики, но не знаю, как это будет работать.