Tengo un método de extensión para convertir una lista genérica en cadena.¿Cómo detectar si un objeto es de tipo genérico Listar y convertir al tipo requerido?
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();
}
Tengo un objeto que es del tipo objeto que contiene una lista; la lista podría ser List<string>
, List<int>
, List<ComplexType>
cualquier tipo de lista.
¿Hay alguna manera de detectar que este objeto es una lista genérica y, por lo tanto, convertirlo a ese tipo de lista genérico específico para llamar al método 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();
}
una lista no es una matriz; eso tampoco ayuda al OP a encontrar el 'T' o invocar el método –