Мне удалось преобразовать строку, разделенную запятыми, в IList<int>
, но как я могу изменить ее, чтобы получить IList<T>
, где T будет передан как один из входных параметров?
i.e, если мне нужно IList<int>
, я передам "int" в качестве параметра, если мне нужно IList<string>
, я передам "string" в качестве параметра.
Моя идея - получить тип, будь то int или string через входной параметр, и использовать отражение и преобразовать строку в соответствующий список
Код для преобразования строки, разделенной запятой, как IList<int>
public static IList<int> SplitStringUsing(this string source, string seperator =",")
{
return source.Split(Convert.ToChar(seperator))
.Select(x => x.Trim())
.Where(x => !string.IsNullOrWhiteSpace(x))
.Select(int.Parse).ToList();
}
Примечание: Выше код еще не протестирован
Я ищу что-то вроде
public static IList<T> SplitStringUsing(this string source, string seperator =",", T t)
{
find the type of t and convert it to respective List
}