Я интерфейс, который я использую для отображения сущностей объектов в домене объектовAssistant Использование C# Generics
public interface IDataEntity<in T1, out T2> where T1 : new() where T2 : new()
{
T2 Map(T1 obj);
}
Для реализации
public class MyEntityObj : IDataEntity<MyEntityObj, MyDomainObj>
{
//props
public MyDomainObj Map(MyEntityObj obj){
// mapping here
return new MyDomainObj();
}
}
Как я мог написать интерфейс, чтобы позволить мне написать реализацию например
public class MyEntity : IDataEntity<MyDomainObj>{
}
Спасибо!
Единственный способ - вернуть 'IDataEntity' вместо' T2', но тогда вы в основном теряете сильную типизацию, которую хотите получить от того, чтобы этот второй тип был общим. – juharr