Однако класс, реализующий промежуточный интерфейс, выдает ошибку, что он не реализует 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)'

Подробнее здесь: https://stackoverflow.com/questions/603 ... -in-sub-in