Мой вопрос, как указано выше. Например,
IEnumerable<T> items = new T[]{new T("msg")}; items.ToList().Add(new T("msg2"));
но ведь в нем всего 1 предмет.
Можем ли мы иметь метод, подобный items.Add(item)?
items.Add(item)
как List<T>
List<T>
Вы можете сделать это.
//Create IEnumerable IEnumerable<T> items = new T[]{new T("msg")}; //Convert to list. List<T> list = items.ToList(); //Add new item to list. list.add(new T("msg2")); //Cast list to IEnumerable items = (IEnumerable<T>)items;
Конечно, вы можете (я оставляю ваш T-бизнес в стороне):
public IEnumerable<string> tryAdd(IEnumerable<string> items) { List<string> list = items.ToList(); string obj = ""; list.Add(obj); return list.Select(i => i); }
Самый простой способ сделать это просто
IEnumerable<T> items = new T[]{new T("msg")}; List<string> itemsList = new List<string>(); itemsList.AddRange(items.Select(y => y.ToString())); itemsList.Add("msg2");
Затем вы можете вернуть список как IEnumerable также потому, что он реализует интерфейс IEnumerable