C# метод возвращающий generic тип и преобразование типа?

Метод:
class Cat { }

        public List<T> method<T>()
        {
            return new List<Cat>(); // вместо new тут List<Любой тип>  который приходит из EntityFramework
        }

Вызов метода:
var c = method<Cat>();
И ошибка, что нельзя неявно преобразовать тип из List<Тип> в List
Вопрос почему это не работает, если мы можем вернуть List то почему нельзя вернуть List<Тип> ?
  • Вопрос задан
  • 495 просмотров
Решения вопроса 1
samodum
@samodum
Какой вопрос - такой и ответ
В объявлении метода должен быть тот же тип, который возвращается изнутри:
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();
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы