Struct WriteContext (3.23.0)

public ref struct WriteContext

An opaque struct that represents the current serialization state and is passed along as the serialization proceeds. All the public methods are intended to be invoked only by the generated code, users should never invoke them directly.

Namespace

Google.Protobuf

Assembly

Google.Protobuf.dll

Methods

WriteBool(bool)

public void WriteBool(bool value)

Writes a bool field value, without a tag.

Parameter
Name Description
value bool

The value to write

WriteBytes(ByteString)

public void WriteBytes(ByteString value)

Write a byte string, without a tag, to the stream. The data is length-prefixed.

Parameter
Name Description
value ByteString

The value to write

WriteDouble(double)

public void WriteDouble(double value)

Writes a double field value, without a tag.

Parameter
Name Description
value double

The value to write

WriteEnum(int)

public void WriteEnum(int value)

Writes an enum value, without a tag.

Parameter
Name Description
value int

The value to write

WriteFixed32(uint)

public void WriteFixed32(uint value)

Writes a fixed32 field value, without a tag.

Parameter
Name Description
value uint

The value to write

WriteFixed64(ulong)

public void WriteFixed64(ulong value)

Writes a fixed64 field value, without a tag.

Parameter
Name Description
value ulong

The value to write

WriteFloat(float)

public void WriteFloat(float value)

Writes a float field value, without a tag.

Parameter
Name Description
value float

The value to write

WriteGroup(IMessage)

public void WriteGroup(IMessage value)

Writes a group, without a tag, to the stream.

Parameter
Name Description
value IMessage

The value to write

WriteInt32(int)

public void WriteInt32(int value)

Writes an int32 field value, without a tag.

Parameter
Name Description
value int

The value to write

WriteInt64(long)

public void WriteInt64(long value)

Writes an int64 field value, without a tag.

Parameter
Name Description
value long

The value to write

WriteLength(int)

public void WriteLength(int length)

Writes a length (in bytes) for length-delimited data.

Parameter
Name Description
length int

Length value, in bytes.

Remarks

This method simply writes a rawint, but exists for clarity in calling code.

WriteMessage(IMessage)

public void WriteMessage(IMessage value)

Writes a message, without a tag. The data is length-prefixed.

Parameter
Name Description
value IMessage

The value to write

WriteRawTag(byte)

public void WriteRawTag(byte b1)

Writes the given single-byte tag.

Parameter
Name Description
b1 byte

The encoded tag

WriteRawTag(byte, byte)

public void WriteRawTag(byte b1, byte b2)

Writes the given two-byte tag.

Parameters
Name Description
b1 byte

The first byte of the encoded tag

b2 byte

The second byte of the encoded tag

WriteRawTag(byte, byte, byte)

public void WriteRawTag(byte b1, byte b2, byte b3)

Writes the given three-byte tag.

Parameters
Name Description
b1 byte

The first byte of the encoded tag

b2 byte

The second byte of the encoded tag

b3 byte

The third byte of the encoded tag

WriteRawTag(byte, byte, byte, byte)

public void WriteRawTag(byte b1, byte b2, byte b3, byte b4)

Writes the given four-byte tag.

Parameters
Name Description
b1 byte

The first byte of the encoded tag

b2 byte

The second byte of the encoded tag

b3 byte

The third byte of the encoded tag

b4 byte

The fourth byte of the encoded tag

WriteRawTag(byte, byte, byte, byte, byte)

public void WriteRawTag(byte b1, byte b2, byte b3, byte b4, byte b5)

Writes the given five-byte tag.

Parameters
Name Description
b1 byte

The first byte of the encoded tag

b2 byte

The second byte of the encoded tag

b3 byte

The third byte of the encoded tag

b4 byte

The fourth byte of the encoded tag

b5 byte

The fifth byte of the encoded tag

WriteSFixed32(int)

public void WriteSFixed32(int value)

Writes an sfixed32 value, without a tag.

Parameter
Name Description
value int

The value to write.

WriteSFixed64(long)

public void WriteSFixed64(long value)

Writes an sfixed64 value, without a tag.

Parameter
Name Description
value long

The value to write

WriteSInt32(int)

public void WriteSInt32(int value)

Writes an sint32 value, without a tag.

Parameter
Name Description
value int

The value to write

WriteSInt64(long)

public void WriteSInt64(long value)

Writes an sint64 value, without a tag.

Parameter
Name Description
value long

The value to write

WriteString(string)

public void WriteString(string value)

Writes a string field value, without a tag. The data is length-prefixed.

Parameter
Name Description
value string

The value to write

WriteTag(int, WireType)

public void WriteTag(int fieldNumber, WireFormat.WireType type)

Encodes and writes a tag.

Parameters
Name Description
fieldNumber int

The number of the field to write the tag for

type WireFormatWireType

The wire format type of the tag to write

WriteTag(uint)

public void WriteTag(uint tag)

Writes an already-encoded tag.

Parameter
Name Description
tag uint

The encoded tag

WriteUInt32(uint)

public void WriteUInt32(uint value)

Writes a uint32 value, without a tag.

Parameter
Name Description
value uint

The value to write

WriteUInt64(ulong)

public void WriteUInt64(ulong value)

Writes a uint64 field value, without a tag.

Parameter
Name Description
value ulong

The value to write