Ho scritto l'attributo di proprietà personalizzato e l'ho impostato su un paio di proprietà nella mia classe. Ora vorrei durante il runtime ottenere solo le proprietà che hanno questo attributo, essere in grado di ottenere il valore della proprietà così come i valori dei campi degli attributi. Potresti aiutarmi per favore con questo compito? grazie per aiutoOttieni tutte le proprietà con valori di riflessione
5
A
risposta
0
C'è un articolo (con esempi di codice) a fare questo qui: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6099345.html
e diversi altri luoghi, come si trova in questa ricerca: http://www.bing.com/search?q=use+reflection+to+get+properties+and+values&src=IE-SearchBox&FORM=IE8SRC
0
È possibile utilizzare PropertyInfo.Attributes
13
Ecco un esempio:
void Main()
{
var myC = new C { Abc = "Hello!" };
var t = typeof(C);
foreach (var prop in t.GetProperties())
{
var attr = prop.GetCustomAttributes(typeof(StringLengthAttribute), true).Cast<StringLengthAttribute>().FirstOrDefault();
if (attr != null)
{
var attrValue = attr.MaximumLength; // 100
var propertyValue = prop.GetValue(myC, null); // "Hello!"
}
}
}
class C
{
[StringLength(100)]
public string Abc {get;set;}
}
Problemi correlati
- 1. C# - Proprietà Ricorsive/Riflessione Valori
- 2. Riflesso Javascript - ottieni tutte le proprietà di un oggetto?
- 3. Ottieni proprietà private/Metodo di classe base con riflessione
- 4. Come ottenere tutte le proprietà statiche ei suoi valori di una classe utilizzando la riflessione
- 5. Ottieni tutte le variabili inviate con POST?
- 6. Ottieni i valori di tutte le checkbox nel ripetitore
- 7. Ottieni tutte le variabili Javascript?
- 8. Proprietà di riflessione Filtro
- 9. Ottenere tutte le classi interne per riflessione
- 10. Ottieni tutte le proprietà che hanno contrassegnato determinati attributi
- 11. Ottieni tutte le proprietà della finestra definite dall'utente?
- 12. C# Impostazione dell'oggetto Valori delle proprietà DateTime tramite riflessione
- 13. Riflessione - ottieni il nome e il valore dell'attributo sulla proprietà
- 14. utilizzando la riflessione di ottenere tutte le proprietà di un oggetto non implementato da un'interfaccia
- 15. Ottieni tutte le permutazioni di una fetta
- 16. Risultati riflessione cache (proprietà classe)
- 17. Ottieni tutte le classi che implementano un tratto in Scala utilizzando la riflessione
- 18. Trova proprietà nullable tramite la riflessione
- 19. Ottieni l'elenco di tutte le app installate
- 20. Ottieni tutte le DLL per un processo
- 21. Come elencare tutte le proprietà di classe
- 22. Riflessione per le proprietà interne di test dell'unità
- 23. Redis/Ottieni tutte le chiavi e valori da redis con prefisso
- 24. Oracle: Ottieni tutte le righe tranne uno
- 25. Richiedere le proprietà di archetipo di Maven con valori predefiniti
- 26. Proprietà nascondiglio e riflessione (C#)
- 27. Impostazione delle proprietà di un oggetto tramite riflessione con diversi tipi di proprietà
- 28. ottenere tutte le proprietà che ha un attributo personalizzato con valori specifici
- 29. NUnit - Assert per controllare tutte le proprietà sono uguali?
- 30. Ottieni tutte le commit git dall'ultimo tag
Sono abbastanza sicuro che questo è un duplicato, ma non ho trovato un incontro. Ho trovato il relativo [Controlla se la proprietà ha attributo] (http://stackoverflow.com/questions/2051065/check-if-property-has-attribute) e [Trovare gli attributi sulle proprietà di un'istanza di una classe] (http://stackoverflow.com/questions/2999035/finding-the-attributes-on-the-properties-of-an-instance-of-a-class). –