public static void Serialize(Stream stream, Person instance)
{
var msField = global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Pop();
if (instance.Name == null)
throw new global::SilentOrbit.ProtocolBuffers.ProtocolBufferException("Name is required by the proto specification.");
// Key for field: 1, LengthDelimited
stream.WriteByte(10);
global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.Name));
// Key for field: 2, Varint
stream.WriteByte(16);
global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.Id);
if (instance.Email != null)
{
// Key for field: 3, LengthDelimited
stream.WriteByte(26);
global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.Email));
}
if (instance.Phone != null)
{
foreach (var i4 in instance.Phone)
{
// Key for field: 4, LengthDelimited
stream.WriteByte(34);
msField.SetLength(0);
Personal.Person.PhoneNumber.Serialize(msField, i4);
// Length delimited byte array
uint length4 = (uint)msField.Length;
global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length4);
msField.WriteTo(stream);
}
}
global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Push(msField);
}