C# метод возвращающий generic тип и преобразование типа?
Метод:
class Cat { }
public List<T> method<T>()
{
return new List<Cat>(); // вместо new тут List<Любой тип> который приходит из EntityFramework
}
Вызов метода: var c = method<Cat>();
И ошибка, что нельзя неявно преобразовать тип из List<Тип> в List
Вопрос почему это не работает, если мы можем вернуть List то почему нельзя вернуть List<Тип> ?
В объявлении метода должен быть тот же тип, который возвращается изнутри:
public class Cat<T>{
public List<T> method()
{
return new List<T>();
}
}
public class Kitty
{
public void main()
{
Cat<String> kitty = new Cat<String>();
List<String> kittyMethods = kitty.method();
}
}