В случае если определение поля содержит модификатор 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;
См.также: