Вот общий класс я работаю с:C# Бетон переопределение родового класса
public interface IRepository<T> where T : EntityObject
{
RepositoryInstructionResult Add(T item);
RepositoryInstructionResult Update(T item);
RepositoryInstructionResult Delete(T item);
}
public class Repository<T> : IRepository<T> where T : EntityObject
{
RepositoryInstructionResult Add(T item)
{ //implementation}
RepositoryInstructionResult Update(T item);
{ //implementation}
RepositoryInstructionResult Delete(T item);
{ //implementation}
}
Теперь я смотрю изредка изменять поведение методов при т: конкретный тип. Возможно ли следующее: Эта конкретная попытка дает ошибку (ошибка 5: частичные объявления «репозитория» должны иметь одинаковые имена параметров типа в том же порядке).
public class Repository<Bar> //where Bar : EntityObject
{
RepositoryInstructionResult Add(Bar item)
{ //different implementation to Repository<T>.Add() }
//other methods inherit from Repository<T>
}
'BarRepository: Repository ...', и отметьте augmentible методы, как виртуальный/переопределить в базовых/дочерних классов, соответственно. –
@ Энтони: Почему бы не опубликовать это как ответ? (Который я собирался опубликовать = P) – benjer3