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);
        }