Estoy aprendiendo los conceptos de reflexiones en C#. Tengo una clase como estaPregunta simple: Reflexiones en C#
public class pdfClass
{
public List<AttributeProperties> TopA { get; set; }
public List<AttributeProperties> TopB { get; set; }
public List<AttributeProperties> TopC { get; set; }
}
En otra clase me gustaría extraer los valores de la lista. Tengo maneras estúpidas que hacerlo así
public void ExtractValue (pdfClass incomingpdfClass, string type)
{
switch (type)
{
case "TopA":
foreach (var listitem in incomingPdfClass.TopA)
{...}
breaks;
case "TopB":
foreach (var listitem in incomingPdfClass.TopB)
{...}
breaks;
...
}
}
Las operaciones en las foreach son similares. ¿Cómo puedo hacer esto de una manera clara mediante el uso de reflexiones?
¿Por qué utilizar la reflexión para este ? –
Esta pregunta no es lo suficientemente clara. El código que publicaste, específicamente el segundo ejemplo, no se compilaría (una declaración de cambio no puede estar en una clase). En la clase ExtractValue, ¿cómo obtiene referencias a las propiedades TopA, TopB, etc.? ¿Hereda de pdfClass? Necesitamos un mejor ejemplo para comenzar. –
@Seen: ¿Tiene una instancia de pdfClass? – sll