コード例 #1
0
 public void WriteTo(ref WriteContext ctx)
 {
     ctx.WriteTag(codec.Tag);
     codec.ValueWriter(ref ctx, field);
     if (codec.EndTag != 0)
     {
         ctx.WriteTag(codec.EndTag);
     }
 }
コード例 #2
0
ファイル: UnknownField.cs プロジェクト: leancloud/csharp-sdk
 /// <summary>
 /// Serializes the field, including the field number, and writes it to
 /// <paramref name="output"/>
 /// </summary>
 /// <param name="fieldNumber">The unknown field number.</param>
 /// <param name="output">The write context to write to.</param>
 internal void WriteTo(int fieldNumber, ref WriteContext output)
 {
     if (varintList != null)
     {
         foreach (ulong value in varintList)
         {
             output.WriteTag(fieldNumber, WireFormat.WireType.Varint);
             output.WriteUInt64(value);
         }
     }
     if (fixed32List != null)
     {
         foreach (uint value in fixed32List)
         {
             output.WriteTag(fieldNumber, WireFormat.WireType.Fixed32);
             output.WriteFixed32(value);
         }
     }
     if (fixed64List != null)
     {
         foreach (ulong value in fixed64List)
         {
             output.WriteTag(fieldNumber, WireFormat.WireType.Fixed64);
             output.WriteFixed64(value);
         }
     }
     if (lengthDelimitedList != null)
     {
         foreach (ByteString value in lengthDelimitedList)
         {
             output.WriteTag(fieldNumber, WireFormat.WireType.LengthDelimited);
             output.WriteBytes(value);
         }
     }
     if (groupList != null)
     {
         foreach (UnknownFieldSet value in groupList)
         {
             output.WriteTag(fieldNumber, WireFormat.WireType.StartGroup);
             value.WriteTo(ref output);
             output.WriteTag(fieldNumber, WireFormat.WireType.EndGroup);
         }
     }
 }