Правило для реализации методов интерфейса - C#
Формулировка задачи:
У меня есть интерфейс IEntity. Его реализовуют все сущности с которыми я в будущем буду оперировать:
Также у меня есть интерфейс IModel. Я хочу в этом интерфейсе задать правило что бы все методы, которые будут реализовываться, обязательно принимали на вход только обьекты классов, которые реализуют интерфейс IEntity.
Что-то приблизительно такое:
Но в итоге получаю ошибку что интерфейс не реализован:
Помогите как исправить?
public class UserEntity: IEntity
{
public int UserId { get; set; }
public string Login { get; set; }
public string Password { get; set; }
}public interface IModel
{
bool InsertModel(IEntity entity);
bool DeleteModel(IEntity entity);
bool UpdateModel(IEntity entity);
}public class UserModel : IModel{
// .......some code
public bool InsertModel(UserEntityentity)
{
// some operations
}
public bool DeleteModel(UserEntity entity)
{
// some operations
}
public bool UpdateModel(UserEntity entity) {
// some operations
}
}Решение задачи: «Правило для реализации методов интерфейса»
textual
Листинг программы
public interface IEntity
{
}
public interface IModel<T> where T : IEntity
{
bool InsertModel(T entity);
bool DeleteModel(T entity);
bool UpdateModel(T entity);
}
public class UserEntity : IEntity
{
}
public class UserModel : IModel<UserEntity>
{
public bool InsertModel(UserEntity entity)
{
//...
}
public bool DeleteModel(UserEntity entity)
{
//...
}
public bool UpdateModel(UserEntity entity)
{
//...
}
}