В .NET, как ограничен доступ к закрытым методам? - PullRequest
2 голосов
/ 22 августа 2010

В .NET применяются ли частные методы и свойства во время выполнения или только компилятором?

Если вы попытаетесь вызвать приватные методы другого объекта, компилятор сгенерирует исключение доступа. Что, если вы вручную манипулируете IL или попытаетесь вызвать через рефлексию - сможете ли вы? Кроме того, это зависит от версии (1.1 против 2.0 против 3.5 против 4.0)?

1 Ответ

4 голосов
/ 22 августа 2010

Это ограничение времени компиляции. Вы можете вызывать закрытые методы через Reflection во всех версиях .NET. И начиная с .NET 4.0, вы можете использовать dynamics для этого. Кроме того, используя Reflection, вы можете увидеть и использовать методы автоматических свойств. Само собой разумеется, что это не рекомендуется.

...