Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

306
Vistas
verificar si un tipo de propiedad dado es un tipo de (lista <>)

Tengo tres listas como List<EmpRoles> , List<EmpVisibility> , List<EmpProps>.

Ahora quiero realizar ciertas operaciones en ellos. Para esto primero tengo que comprobar si la propiedad es de tipo lista o no. Tengo uso si bloque algo como a continuación

 if ( propertyName == "EmpRoles" || propertyName == "EmpVis" || propertyName == "EmpProps")

¿Hay alguna forma mejor de hacer esto, o es posible poner algún tipo de (lista <>) condiciones? Sé que typeof(list<>) no funcionará aquí. O tengo que usar typeof (lista) ... ¿Alguien puede ayudar a crear una forma genérica de identificar las propiedades del tipo de lista?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Verificar que un tipo es List<T> requiere asegurarse de que:

  • el tipo es genérico comprobando su propiedad IsGenericType ,
  • la base de tipo genérico es System.List<> comprobando el resultado de GetGenericTypeDefinition() contra typeof(List<>)
  • el tipo T es el que desea al marcar GetGenericArguments()

Si se cumplen las tres condiciones, tienes tu tipo:

 var pt = myProperty.PropertyType; if (pt.IsGenericType && pt.GetGenericTypeDefinition() == typeof(List<>)) { var elementType = pt.GetGenericArguments()[0]; if (elementType == typeof(EmpRoles)) { ... } else if (elenentType == typeof(EmpVisibility)) { ... } else if ... }
over 4 years ago · Santiago Trujillo Denunciar

0

Puede obtener un parámetro genérico de la lista de la siguiente manera

 var list = new List<EmpRoles> var argType = list.GetType().GenericTypeArguments[0];

Aquí en argType obtendrá typeof(EmpRoles)

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda