Я предполагаю, что вы пытаетесь неявно преобразовать между object
, который вы использовали в сигнатуре класса Notification
, и Guid
(который является struct
), который вы указали в подпись INotificationRepository
. Вы должны либо использовать Guid
в обоих местах, либо в обоих местах использовать object
того же типа или там, где существует неявное преобразование.
Сигнатура интерфейса IRepository
форсирует это условие.
Пока Notification
выводится из EntityBase<Guid>
, ошибки преобразования нет.
public class Notification : EntityBase<Guid>
{
}
Однако ошибка преобразования ссылочного типа появится, если вы попытаетесь использовать ссылочный тип как TKey
без изменения определения INotificationRepository
public class Notification : EntityBase<object>
{
}
Тип «Уведомление» нельзя использовать в качестве параметра типа «TEntity» в универсальном типе или методе «IRepository». Не существует неявного преобразования ссылок из «Уведомления» в «EntityBase».