Я возился с дженериками, и IEnumerable abit, но я доволен. Вот что я пытаюсь сделать: Я хочу иметь метод, который возвращает любой тип коллекции - который реализует IEnumerable (?) - (так, например, List, Stack, Queue,...)
Кроме того, я хочу иметь возможность возвращать любой тип коллекции любого типа данных.
поэтому я хочу, чтобы этот метод мог возвращать List<string>,, а также Stack<int>, а также List<double>... и т.д. и т.д.
public IEnumerable<T> returnSomething()
{
Stack<int> stackOfInts = new Stack<int>();
List<string> listOfStrings = new List<string>();
return stackOfInts;
}
Это то, что я пробовал до сих пор. это, однако, не работает, я получаю эту ошибку:
Cannot implicitly convert type 'System.Collections.Generic.Stack<int>' to 'System.Collections.Generic.IEnumerable<T>'. An explicit conversion exists (are you missing a cast?)
однако, если я заменил IEnumerable<T> в сигнатуре метода на IEnumerable<int>, я могу вернуть любую коллекцию типа int. Однако это означает, что теперь я больше не могу вернуть ListOfStrings.
по достоинству оценят любые предложения или идеи:)