예제 #1
0
            public void Write(ProtoWriter writer, object instance)
            {
                object value = propertyInfo.GetValue(instance, null);

                if (value == null)
                {
                    writer.SetFieldNumber(this.fieldNumber);
                    writer.WriteNull();
                }
                else
                {
                    writer.SetFieldNumber(this.fieldNumber);
                    typeDescription.NestedMessageSerializer.Writer(writer, value);
                }
            }
예제 #2
0
        public void Writer(ProtoWriter writer, object instance)
        {
            IEnumerable enumerable = (IEnumerable)instance;

            int messageId = writer.BeginSubMessage();

            foreach (var e in enumerable)
            {
                if (e == null)
                {
                    writer.SetFieldNumber(1);
                    writer.WriteNull();
                }
                else
                {
                    writer.SetFieldNumber(1);
                    this.typeDescription.NestedMessageSerializer.Writer(writer, e);
                }
            }

            writer.EndSubMessage(messageId);
        }
예제 #3
0
 public void Writer(ProtoWriter writer, object instance)
 {
     writer.SetFieldNumber(1);
     this.itemSerializer.Writer(writer, instance);
 }