Exemplo n.º 1
0
        private ObjectSerializerBase BuildRecordTypeSchema(Type type, uint currentDepth)
        {
            var record = ClassSerializer.Create(type);

            this.seenTypes.Add(type, record);

            var members = type.ResolveMembers();

            foreach (var info in members)
            {
                var fieldSchema = CreateSchema(info.Type, currentDepth + 1);

                var recordField = new RecordFieldSerializer(fieldSchema, info);
                record.AddField(recordField);
            }

            return(record);
        }
Exemplo n.º 2
0
 internal void AddField(RecordFieldSerializer field) => this.fields.Add(field ?? throw new ArgumentNullException(nameof(field)));