Влияет ли модификатор доступа на производительность? - PullRequest
7 голосов
/ 12 февраля 2011

Влияет ли модификатор доступа на производительность в C #?

1 Ответ

9 голосов
/ 12 февраля 2011

Нет, модификаторы доступа не рассматриваются средой выполнения для выполнения. Единственный раз, когда они вступают в игру после компиляции, это если вы используете отражение и запрашиваете метаданные сборки.

Думайте о модификаторах доступа как о конкретных формах. Они ставятся на место, когда бетон мокрый, чтобы обеспечить форму и границы для мокрого бетона. Как только бетон высохнет, его удаляют, поскольку он больше не нужен. Модификаторы доступа - это конкретные формы для вашего не скомпилированного кода - после того, как код скомпилирован, модификаторы доступа больше не являются фактором (даже если они являются частью испускаемого IL).

Редактировать: Может быть, "больше не фактор" немного расплывчато. Я имею в виду, что задача компилятора - убедиться, что все модификаторы доступа должным образом соблюдаются и никаких нарушений не происходит. Среда выполнения (по крайней мере, CLR от Microsoft - другие среды выполнения могут реализовывать ее любым способом, который они считают нужным) надеется, что компилятор выполнил свою работу, и никаких дополнительных проверок не требуется.

...