Diciamo, per esempio, ho questo semplice classe:Get PropertyInfo dalla proprietà invece del nome
public class MyClass
{
public String MyProperty { get; set; }
}
Il modo per ottenere il PropertyInfo per MyProperty sarebbe:
typeof(MyClass).GetProperty("MyProperty");
Questo fa schifo!
Perché? Facile: si romperà non appena cambierò il nome della proprietà, ha bisogno di un sacco di test dedicati per trovare ogni posizione in cui una proprietà viene utilizzata in questo modo, refactoring e alberi di utilizzo non sono in grado di trovare questo tipo di accesso.
Non c'è un modo per accedere correttamente a una proprietà? Qualcosa, che è convalidato in fase di compilazione?
Mi piacerebbe un comando come questo:
propertyof(MyClass.MyProperty);
Diventa peggio. Se si guarda a WPF, si noterà che richiede nomi di stringhe per l'associazione dei dati e anche quando si implementa INotifyPropertyChanged. Questo non è un caso limite per gli utenti di Reflection, ma il caso d'uso generale di tutti i giorni. Attualmente mi affido a Resharper per mantenere le cose in sincronia. –
Unitesting mi ha aiutato molto qui, ma questo è tutto ... – Enriquev
Domanda di overflow dello stack correlato con risposte più dettagliate: http://stackoverflow.com/questions/491429/how-to-get-the-propertyinfo-of-a- specifica-proprietà –