J'apprends les concepts de réflexions en C#. J'ai une classe comme ceciSimple question: Réflexions en C#
public class pdfClass
{
public List<AttributeProperties> TopA { get; set; }
public List<AttributeProperties> TopB { get; set; }
public List<AttributeProperties> TopC { get; set; }
}
Dans une autre classe je voudrais extraire les valeurs de la liste. J'ai des façons stupides de le faire comme
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;
...
}
}
Les opérations dans les boucles foreach sont similaires. Comment puis-je le faire de manière claire en utilisant des réflexions?
Pourquoi utiliseriez-vous la réflexion pour cette ? –
Cette question n'est pas assez claire. Le code que vous avez publié, en particulier le second exemple, ne serait pas compilé (une instruction switch ne peut pas être dans une classe). Dans la classe ExtractValue, comment obtenez-vous des références aux propriétés TopA, TopB, etc? Est-ce qu'il hérite de pdfClass? Nous avons besoin d'un meilleur exemple pour commencer. –
@Seen: Avez-vous une instance de pdfClass? – sll