Создание универсального ToModel в интерфейсе, возвращающий какой-либо класс C#
Есть интерфейс, который объявляет метод
public T ToModel<T> () where T : class;
Реализация классов, реализующих этот интерфейс, требует, чтобы этот метод реализовался как-то так:
public MyModelClass1 ToModel<MyModelClass1> () {return new();}
public MyModelClass2 ToModel<MyModelClass2> () {return new();}
... Как это можно реализовать? Пробовал так:
public T ToModel<T>() where T : class
{
if (typeof(T) == typeof(MyModelClass1))
return new MyModelClass1()
{
};}
Не получилось.
Источник: Stack Overflow на русском