2010-08-22 19 views
2

Dans .NET, les méthodes et propriétés privées sont-elles appliquées par le moteur d'exécution ou seulement par le compilateur?Dans .NET, comment l'accès aux méthodes privées est-il restreint?

Si vous essayez d'appeler les méthodes privées d'un autre objet, le compilateur lève une exception d'accès. Que faire si vous manipulez manuellement l'IL ou essayez d'appeler via la réflexion - serez-vous en mesure de le faire? Aussi, cela varie-t-il selon la version d'exécution (1.1 vs. 2.0 vs. 3.5 vs 4.0)?

Répondre

4

Il s'agit d'une restriction de temps de compilation. Vous pouvez appeler des méthodes privées via Reflection dans toutes les versions de .NET. Et à partir de .NET 4.0, vous pouvez utiliser dynamics pour le faire. De plus, en utilisant Reflection, vous pouvez voir et utiliser les méthodes derrière les propriétés automatiques. Il va sans dire que ce n'est pas recommandé.