コード例 #1
0
ファイル: GenObject.cs プロジェクト: JamieO53/xpangen.old
        public GenObject(GenObject parent, ISubClassBase parentSubClass, int classId)
        {
            Parent         = parent;
            RefParent      = null;
            ParentSubClass = parentSubClass;
            ClassId        = classId;
            Attributes     = new TextList();

            if (Parent == null)
            {
                return;
            }
            GenDataBase = Parent.GenDataBase;
            if (Definition != null && Definition.IsInherited)
            {
                Contract.Assert(Definition.Parent.Inheritors.Contains(Definition),
                                "The new object is inherited, but not from its parent");
                Contract.Assert(!Definition.Parent.IsInherited && parentSubClass.ClassId == Definition.Parent.ClassId ||
                                Definition.Parent.IsInherited && parentSubClass.ClassId == Definition.Parent.Parent.ClassId,
                                "The new object is being added to the incorrect subclass");
            }
            else
            {
                Contract.Assert(parentSubClass.Definition == null || parentSubClass.Definition.SubClass.ClassId == ClassId,
                                "The new object is being assigned to the wrong subclass");
            }
        }
コード例 #2
0
 protected GenAttributes()
 {
     IgnorePropertyValidation = true;
     Fields     = new NameList();
     Values     = new TextList();
     Properties = new NameList();
     SubClasses = new NameList();
 }