/// <summary> /// Initializes a new instance of the ObjectClass class. /// </summary> /// <param name="obj">Шаблон, для которого создается атрибут.</param> /// <param name="fieldName">аименование атрибута.</param> /// <param name="fieldType">Тип атрибута.</param> /// <param name="sys">Представление атрибута.</param> internal Field(ObjectClass obj, string fieldName, FieldType fieldType, SystemProperty sys) { this.objectClass = obj; this.order = -1; this.system = sys; this.name = fieldName; this.comment = string.Empty; this.defaultValue = new DefaultValue(fieldType); this.ChangeFieldType(fieldType); this.expression = string.Empty; this.category = this.IsPageField ? fieldName : Strings.Common; }
/// <summary> /// Метод менят тип атрибута на fieldType, при этом значения data и default тоже изменяются на /// соответствющие новому типу. /// </summary> /// <param name="fieldType">Новый тип для данного атрибута.</param> private void ChangeFieldType(FieldType fieldType) { if (this.type != fieldType) { if (this.defaultValue != null) { this.defaultValue.InitializaNewValue(fieldType); } else { this.defaultValue = new DefaultValue(fieldType); } } this.type = fieldType; this.CreateDataProperty(); }