public override void OnPostSerialize(ObjectIDmap objMap, XmlNode objectNode, bool saved, object serializer) { base.OnPostSerialize(objMap, objectNode, saved, serializer); MemberId = XmlUtility.XmlUtil.GetAttributeUInt(objectNode, XmlTags.XMLATT_memberId); //load attributes from base ClassPointer root = objMap.GetTypedData <ClassPointer>(); PropertyClassInherited p = root.GetBaseProperty(this.Name, BaseClassId, BasePropertyId); CopyFromInherited(p); }
public void CopyFromInherited(PropertyClassInherited baseProperty) { SetName(baseProperty.Name); BasePropertyId = baseProperty.MemberId; BaseClassId = baseProperty.Declarer.ClassId; PropertyType = baseProperty.PropertyType; CanRead = baseProperty.CanRead; CanWrite = baseProperty.CanWrite; _baseIsAbstract = baseProperty.IsAbstract; AccessControl = baseProperty.AccessControl; }
protected override void OnNameSet() { ClassPointer decl = (ClassPointer)Owner; PropertyClassInherited p = decl.GetBaseProperty(Name, BaseClassId, BasePropertyId); if (p == null) { throw new DesignerException("Base property [{0}] not found for class [{1},{2}]", Name, decl.ClassId, decl.Name); } CopyFromInherited(p); }