Можно ли оценить не виртуальные свойства в постоянных значениях во время компиляции? (Как и сами константы)Свойства постоянных значений
Пример:
class Clazz
{
const int SPEED = 5;
public int Speed
{
get { return SPEED; }
}
}
Я знаю, что любой вызов постоянной SPEED
будет оцениваться один раз во время компиляции, но если я достигаю Clazz.Speed
свойства из любого места в моей программе , будет ли это также оценено на время компиляции?
Edit: Чтобы evlove постановка вопроса немного, будут ли следующие два примера быть встраиваемыми в Compiler (а не JIT)? [То есть. оценивается во время компиляции]:
// a static/non-static method that returns a constant value
(static) int GetConstant() { return 42; }
// a static/non-static property that returns a constant value
(static) int ConstProperty { get { return 42; } }
Что вы пытаетесь достичь? Какая у вас проблема, что это имеет значение? –
@ M.Babcock, честно говоря, нет никакой конкретной проблемы, что этот адрес, просто мысль, которая пришла ко мне. Я был удивлен, когда я не мог легко найти ответ на это в Интернете. – Acidic
Это, вероятно, лучше подходит для формата http://programmers.stackexchange.com. Теоретически *, что происходит в компиляторе и почему вопросы типа * немного выходят за рамки SO. –