Ejemplo n.º 1
0
        public void CollectMembers()
        {
            for (int index = 0; index < this._typeDefinition.MemberDefinitions.Count; ++index)
            {
                MemberDefinition memberDefinition = this._typeDefinition.MemberDefinitions[index];
                MemberSaveData   memberSaveData   = (MemberSaveData)null;
                switch (memberDefinition)
                {
                case PropertyDefinition _:
                    PropertyDefinition propertyDefinition = (PropertyDefinition)memberDefinition;
                    PropertyInfo       propertyInfo       = propertyDefinition.PropertyInfo;
                    MemberTypeId       id1 = propertyDefinition.Id;
                    PropertySaveData   propertySaveData = new PropertySaveData(this, propertyDefinition, id1);
                    this._propertyValues.Add(propertyInfo, propertySaveData);
                    memberSaveData = (MemberSaveData)propertySaveData;
                    break;

                case FieldDefinition _:
                    FieldDefinition fieldDefinition = (FieldDefinition)memberDefinition;
                    FieldInfo       fieldInfo       = fieldDefinition.FieldInfo;
                    MemberTypeId    id2             = fieldDefinition.Id;
                    FieldSaveData   fieldSaveData   = new FieldSaveData(this, fieldDefinition, id2);
                    this._fieldValues.Add(fieldInfo, fieldSaveData);
                    memberSaveData = (MemberSaveData)fieldSaveData;
                    break;
                }
                TypeDefinitionBase typeDefinition1 = this.Context.DefinitionContext.GetTypeDefinition(memberDefinition.GetMemberType());
                if (typeDefinition1 is TypeDefinition typeDefinition3 && !typeDefinition3.IsClassDefinition)
                {
                    ObjectSaveData childStruct = this._childStructs[memberDefinition];
                    memberSaveData.InitializeAsCustomStruct(childStruct.ObjectId);
                }
 public PropertySaveData(
     ObjectSaveData objectSaveData,
     PropertyDefinition propertyDefinition,
     MemberTypeId saveId)
     : base(objectSaveData)
 {
     this.PropertyDefinition = propertyDefinition;
     this.SaveId             = saveId;
 }
 public FieldSaveData(
     ObjectSaveData objectSaveData,
     FieldDefinition fieldDefinition,
     MemberTypeId saveId)
     : base(objectSaveData)
 {
     this.FieldDefinition = fieldDefinition;
     this.SaveId          = saveId;
 }