Sto imparando i concetti di riflessioni in C#. Ho una classe come questaDomanda semplice: Riflessioni in C#
public class pdfClass
{
public List<AttributeProperties> TopA { get; set; }
public List<AttributeProperties> TopB { get; set; }
public List<AttributeProperties> TopC { get; set; }
}
In un'altra classe vorrei estrarre i valori dall'elenco. Ho modi stupidi per farlo come
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;
...
}
}
Le operazioni nei cicli di foreach sono simili. Come posso farlo in modo chiaro usando i riflessi?
Perché si utilizzare la riflessione per questa ? –
Questa domanda non è abbastanza chiara. Il codice che hai postato, in particolare il secondo esempio, non verrebbe compilato (un'istruzione switch non può essere in una classe). Nella classe ExtractValue, come si ottengono i riferimenti alle proprietà TopA, TopB, ecc.? Eredita da pdfClass? Abbiamo bisogno di un esempio migliore per iniziare. –
@Seen: hai un'istanza di pdfClass? – sll