Почему автоматические свойства не встроены по умолчанию?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему автоматические свойства не встроены по умолчанию?

Сообщение Anonymous »

Поскольку свойства — это всего лишь внутренние методы, понятно, что производительность любой логики, которую они могут выполнять, может улучшить или не улучшить производительность — поэтому понятно, почему JIT-компилятору необходимо проверять, стоит ли встраивать методы.

Однако автоматические свойства (насколько я понимаю) не могут иметь никакой логики и просто возвращают или устанавливают значение базового поля. Насколько мне известно, автоматические свойства обрабатываются компилятором и JIT так же, как и любые другие методы.

(Все нижеследующее будет основано на предположении, что приведенный выше абзац верен.)< /strong>

Свойства типа значения ведут себя иначе, чем сама переменная, но свойства ссылочного типа предположительно должны вести себя точно так же, как прямой доступ к базовой переменной.


Свойства типа значения ведут себя иначе, чем сама переменная.

Свойства типа значения демонстрируют поведение, отличное от поведения самой переменной, но свойства ссылочного типа предположительно должны вести себя точно так же, как прямой доступ к базовой переменной.

Свойства типа значения демонстрируют поведение, отличное от самой переменной.

Свойства типа значения демонстрируют поведение, отличное от поведения самой переменной, но свойства ссылочного типа предположительно должны иметь то же самое поведение, что и прямой доступ к базовой переменной.

Свойства типа значения ведут себя иначе, чем сама переменная.

Свойства типа значения ведут себя иначе, чем сама переменная, но свойства ссылочного типа предположительно должны вести себя точно так же, как прямой доступ к базовой переменной.

Свойства типа значения демонстрируют поведение, отличное от самой переменной. р>

Код: Выделить всё

// Automatic Properties Example
public Object MyObj { get; private set; }
Есть ли случай, когда автоматические свойства ссылочных типов могут привести к снижению производительности из-за встраивания?

Если нет, что мешает компилятору или JIT автоматически встроить их?


Примечание: я понимаю, что прирост производительности, вероятно, будет незначительным, особенно когда JIT, скорее всего, в любом случае встроит их, если использовать достаточное количество раз, но небольшими, поскольку выигрыш может быть, кажется логичным, что такая, казалось бы, простая оптимизация будет введена в любом случае.

Подробнее здесь: https://stackoverflow.com/questions/957 ... by-default
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Встроены ли в Android Enterprise Recaptcha проверки целостности устройства?
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Вероятность того, что геттеры и сеттеры будут встроены компилятором
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему функции-члены класса встроены?
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Встроены ли функции std::functions в компилятор C++11?
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Maui Queryparameters не встроены в
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»