Beispiel #1
0
        private void InitPersistors()
        {
            m_fields     = new IDataField[m_Def.Fields.Values.Count];
            m_persistors = new IBinaryPersistor[m_fields.Length];
            var i = 0;

            if (m_Def.DependingField != null)
            {
                // depending field comes first
                m_persistors[0] = BinaryPersistors.GetPersistor(m_Def.DependingField);
                m_fields[0]     = m_Def.DependingField;
                i++;
            }

            foreach (var field in m_Def.Fields.Values)
            {
                if (field == m_Def.DependingField)
                {
                    continue;
                }
                var persistor = BinaryPersistors.GetPersistor(field);
                m_persistors[i] = persistor;
                m_fields[i]     = field;
                i++;
            }
        }
Beispiel #2
0
        public NestedPersistor(INestedDataField dataField)
        {
            this.m_DataField            = dataField;
            this.m_UnderlyingPersistors = new IBinaryPersistor[this.m_DataField.InnerFields.Count];
            this.m_accessors            = new IGetterSetter[this.m_DataField.InnerFields.Count];
            int index = 0;

            foreach (IDataField field in this.m_DataField.InnerFields.Values)
            {
                IBinaryPersistor persistor = BinaryPersistors.GetPersistor(field);
                this.m_UnderlyingPersistors[index] = persistor;
                this.m_accessors[index]            = field.Accessor;
                ++index;
            }
        }
Beispiel #3
0
        public NestedPersistor(
            INestedDataField dataField)
        {
            m_DataField            = dataField;
            m_UnderlyingPersistors = new IBinaryPersistor[m_DataField.InnerFields.Count];
            m_accessors            = new IGetterSetter[m_DataField.InnerFields.Count];
            var i = 0;

            foreach (var field in m_DataField.InnerFields.Values)
            {
                var persistor = BinaryPersistors.GetPersistor(field);
                m_UnderlyingPersistors[i] = persistor;
                m_accessors[i]            = field.Accessor;
                i++;
            }
        }
        private void InitPersistors()
        {
            this.m_fields     = new IDataField[this.m_Def.Fields.Values.Count];
            this.m_persistors = new IBinaryPersistor[this.m_fields.Length];
            int index = 0;

            if (this.m_Def.DependingField != null)
            {
                this.m_persistors[0] = BinaryPersistors.GetPersistor((IDataField)this.m_Def.DependingField);
                this.m_fields[0]     = (IDataField)this.m_Def.DependingField;
                ++index;
            }

            foreach (IDataField field in this.m_Def.Fields.Values)
            {
                if (field != this.m_Def.DependingField)
                {
                    IBinaryPersistor persistor = BinaryPersistors.GetPersistor(field);
                    this.m_persistors[index] = persistor;
                    this.m_fields[index]     = field;
                    ++index;
                }
            }
        }