У меня есть метод расширения для преобразования общего списка в строку.
public static string ConvertToString<T>(this IList<T> list)
{
StringBuilder sb = new StringBuilder();
foreach (T item in list)
{
sb.Append(item.ToString());
}
return sb.ToString();
}
У меня есть объект типа object, который содержит список; список может быть List
, List
, List
список любого типа.
Есть ли способ, которым я могу определить, что этот объект является общим списком, и, следовательно, привести к этому конкретному общему типу списка для вызова метода ConvertToString
?
//ignore whats happening here
//just need to know its an object which is actually a list
object o = new List<int>() { 1, 2, 3, 4, 5 };
if (o is of type list)
{
string value = (cast o to generic type).ConvertToString();
}