Предположим, у меня есть функция:
public static IList GetAllItems(System.Type T)
{
XmlSerializer deSerializer = new XmlSerializer(T);
TextReader tr = new StreamReader(GetPathBasedOnType(T));
IList items = (IList) deSerializer.Deserialize(tr);
tr.Close();
return items;
}
Чтобы получить список статей, я хотел бы позвонить GetAllItems(typeof(Article))
вместо GetAllItems(typeof(List<Article>))
, но все равно вернуть список.
Вопрос : как мне, , не изменяя объявление функции / прототип , не требовать ненужной части List<>
при вызове этой функции?
То есть яищу что-то вроде этого:
public static IList GetAllItems(System.Type T)
{
/* DOES NOT WORK: Note new List<T> that I want to have */
XmlSerializer deSerializer = new XmlSerializer(List<T>);
TextReader tr = new StreamReader(GetPathBasedOnType(T));
IList items = (IList) deSerializer.Deserialize(tr);
tr.Close();
return items;
}