У меня есть следующий код:
interface IConverter<T, U>
{
U Convert(T obj);
}
interface IBusinessEntityConveter<T, U> : IConverter<T, U>
where U : BusinessEntity
{
}
class LookupConveter<B> : IBusinessEntityConveter<Lookup, B>, IConverter<Lookup, Moniker>
where B : BusinessEntity, new()
{
#region IConverter<Lookup, Moniker> Members
public Moniker Convert(Lookup obj)
{
//...
}
#endregion
#region IConverter<Lookup,B> Members
public B Convert(Lookup obj)
{
//...
}
#endregion
}
Я получаю эту ошибку:
Ошибка 2 'Convertors.LookupConveter<B>
' не может реализовать оба 'Convertors.IConverter<Microsoft.Crm.Sdk.Lookup,B>
' и 'Convertors.IConverter<Microsoft.Crm.Sdk.Lookup,Microsoft.Crm.Sdk.Moniker>
'потому что они могут объединяться для некоторых подстановок параметров типа
Есть ли способ указать, что T не является бизнес-сущностью?