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