Правило для реализации методов интерфейса - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть интерфейс IEntity. Его реализовуют все сущности с которыми я в будущем буду оперировать:
public class UserEntity: IEntity
    {
        public int UserId { get; set; }
        public string Login { get; set; }
        public string Password { get; set; }
    }
Также у меня есть интерфейс IModel. Я хочу в этом интерфейсе задать правило что бы все методы, которые будут реализовываться, обязательно принимали на вход только обьекты классов, которые реализуют интерфейс IEntity. Что-то приблизительно такое:
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)
        {
            //...
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5
Похожие ответы