У меня есть ограничение типа
where TLookup : ILookupable<ILookup>
И я передаю этот интерфейс для типа
public interface IEmployeeProxy : ILookupableCode
Где у вас есть
public interface ILookupableCode : ILookupable<ILookupCode>
И
public interface ILookupable<T> where T : ILookup
{
Task<IEnumerable<T>> LookupByNameAsync(string name, int take = 5, int skip = 0);
Task<T> LookupByIdAsync(long id);
}
И
public interface ILookupCode : ILookup
Но я получаю ошибку There is no implicit reference conversion
, и я не знаю почему, потому что для меня IEmployeeProxy
это
IEmployeeProxy
=> ILookupableCode
=> ILookupable<ILookupCode>
=> ILookupable<ILookup>
Что я здесь делаю не так? Почему я получаю эту ошибку? На мой взгляд, я должен работать.
Если вы хотите знать, почему я это делаю, это потому, что я хочу иметь ILookupable
с некоторыми методами, которые возвращают ILookup
, но также имеют ILookupableCode
с теми же методами ILookupable
, которые вернут ILookupCode
и еще несколько вещей.