Я пытаюсь создать универсальный метод расширения, который работает с любым классом, и сопоставить его данные с другим предоставленным классом.
Я пытаюсь добиться следующего:
У меня есть класс User, а другой класс UserVM
User dbUser = new User();
UserVM userMapped = dbUser.MapToViewlModel<UserVM>();
А из внутренней реализации метода я буду использовать AutoMapper Mapper.Map ()
Вот мой код
public static class DataMapperExtensions
{
public static M MapToViewModel<M>(this T input)
where T : class
where M: class
{
return Mapper.Map<T, M>(input);
}
}
T никогда не компилируется, я даже попробовал код ниже:
public static class DataMapperExtensions<T> where T: class
{
public static M MapToViewModel<M>(this T input)
where M: class
{
return Mapper.Map<T, M>(input);
}
}
DataMapperExtensions подчеркнуты, говоря, что «Метод расширения должен быть определен не универсальный статический класс».
То, о чем я прошу, вообще возможно?
Пожалуйста, дайте мне знать и спасибо заранее.