Sto cercando di riflettere su alcune proprietà di classe e li programaticlly, ma sembra che uno dei miei filtri PropertyInfo non funziona:"metodo set Property non trovato" errore durante la riflessione
//Get all public or private non-static properties declared in this class (no inherited properties) - that have a getter and setter.
PropertyInfo[] props = this.GetType().GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty);
I 'm ottenere un errore sulla linea
pi.SetValue(this, valueFromData, null);
Poiché la proprietà ha solo un metodo get{}
, nessun metodo set{}
.
La mia domanda è: perché questa proprietà non è stata filtrata dagli oggetti di scena? Ho pensato che fosse lo scopo di BindingFlags.SetProperty.
La proprietà non sempre filtrato è:
public String CollTypeDescription
{
get { return _CollTypeDescription; }
}
Nota che voglio filtrare le proprietà che non funzionano prima del tempo, perché io li sto messa in vendita in una volta. Io faccio non voglio usare pi.GetSetMethod()
dopo il fatto per determinare se posso usare il setter.
@dtryon - no - lui è O-ing insieme le bandiere per le opzioni che vuole impostare . –