Поля только для чтения

В случае если определение поля содержит модификатор ReadOnly такое поле называется полем только для чтения. Присваивание значения полю только для  чтения может происходить только в определении данного поля, либо конструкторе класса (в статическом или экземплярном в зависимости от типа поля).

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

Пример

Class ReadonlyField
    Readonly Public Ver: string;
    Readonly Public Id: string;
    
    Constructor ReadonlyField();
    Begin
        Ver := "1.0.0";
        Id := "ReadonlyField";
    End Constructor;
End Class;

Sub Test();
Var
    Obj: ReadonlyField = New ReadonlyField();
    s: string;
Begin
    s := Obj.Id + " " + Obj.Ver;
End Sub;

См.также:

Поля