Правило для реализации методов интерфейса - 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)
- {
- //...
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д