2013-05-12 18 views
5

.Net 4.5 ha PropertyInfo.GetMethod come proprietà sulla classe PropertyInfo. Sta facendo qualcosa di diverso dal metodo PropertyInfo.GetGetMethod? La pagina della documentazione è praticamente vuota. L'unica differenza che posso trovare è GetGetMethod per impostazione predefinita restituisce solo getter pubblico mentre GetMethod restituisce anche getter non pubblico (lo stesso è ottenuto da GetGetMethod(true)).Differenza tra metodo GetGetMethod e proprietà GetMethod?

Analogamente, esiste il metodo GetSetMethod e la proprietà SetMethod in .NET 4.5. Perché è stato introdotto in .NET?

risposta

11

Non c'è differenza. La proprietà GetMethod chiama GetGetMethod per ottenere il getter. Ecco cosa ILSpy mi dice circa l'attuazione di proprietà:

// System.Reflection.PropertyInfo 
[__DynamicallyInvokable] 
public virtual MethodInfo GetMethod 
{ 
    [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] 
    get 
    { 
     return this.GetGetMethod(true); 
    } 
} 

La proprietà GetMethod è semplicemente più facile da usare, in quanto non si riferisce a un parametro.

mai pensato di poter usare la parola ottenere così tante volte in una sola frase!

+6

+1 per farmi ridere con la frase 'La proprietà GetMethod chiama GetGetMethod per ottenere il getter'. – theyetiman

Problemi correlati