С#: Возможно ли это? (Предоставление реализации по умолчанию для IEquatable в подинтерфейсе)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 С#: Возможно ли это? (Предоставление реализации по умолчанию для IEquatable в подинтерфейсе)

Сообщение Anonymous »

Я пытаюсь создать интерфейс со свойством Id, а затем реализовать IEquatable с использованием этого идентификатора.

Однако класс, реализующий промежуточный интерфейс, выдает ошибку, что он не реализует IEquatable.

Я предполагаю, что этот тип функциональности просто не реализуется существуют, но я изо всех сил пытаюсь описать, что именно представляет собой эта функция, и найти какие-либо обходные пути для того, что я хочу сделать.

Я хочу позволить классам просто реализовывать IntermediateInterface и сразу же приравниваться друг к другу через свойство Id, требуемое этим интерфейсом.

Вот код в виде текста:

Код: Выделить всё

public interface IntermediateInterface : IEquatable
where T : IntermediateInterface
{
int Id { get; set; }
public new bool Equals(T other)
{
return Id.Equals(other.Id);
}
}

public class ActualType : IntermediateInterface {
public int Id { get; set; }
}
Вот текст ошибки:

Код: Выделить всё

Error   CS0535  'ActualType' does not implement interface member 'IEquatable.Equals(ActualType)'
Вот скриншот из Visual Studio:

Изображение


Подробнее здесь: https://stackoverflow.com/questions/603 ... -in-sub-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»