Нет, свойство не будет оцениваться во время компиляции.
На самом деле это единственное преимущество использования недвижимости.
Возьмите ваш код, например:
class Clazz
{
public const int SPEED = 5;
public int Speed
{
get { return SPEED; }
}
}
Если вы используете Clazz.SPEED в другой сборке, которая будет оценена во время компиляции. вам нужно развернуть 2 сборки, если вы измените значение SPEED.
Если вы используете Clazz.Speed, вам нужно только развернуть одну сборку, в которой находится Clazz.
Альтернативой является использование статической переменной-члена только для чтения. но рекомендуется свойство, которое можно расширять.
Пожалуйста, прочитайте первые 2 пункта книги: Эффективное C #: 50 конкретных способов улучшить ваш C #
Item1: всегда использовать свойства вместо доступных членов данных
Item2: предпочтение только для чтения const