Представьте, что у меня есть базовый базовый класс, подобный этому:
public abstract class AnimalDTO<TA, TB>
{
public static TB ToDTO(TA entity)
{
return ConvertToDTO<TB>(entity);
}
}
Класс отвечает за возможность преобразования переданного объекта в DTO.
У меня есть класс, который использует этот общий класс:
public class MammalDTO<Mammal, MammalDTO>
{
// omitted stuff here
}
Пользователь теперь может использовать MammalDTO.ToDTO(mammal)
для преобразования Mammal
в MammalDTO
.
Теперь я хочу извлечь Млекопитающее:
public class Koala<???, ???> : Mammal<???, ???>
Как мне это сделать?