Class MessageParser (3.23.0)

public class MessageParser

A general message parser, typically used by reflection-based code as all the methods return simple IMessage.

Inheritance

object > MessageParser

Derived Types

Namespace

Google.Protobuf

Assembly

Google.Protobuf.dll

Methods

ParseDelimitedFrom(Stream)

public IMessage ParseDelimitedFrom(Stream input)

Parses a length-delimited message from the given stream.

Parameter
NameDescription
inputStream

The stream to parse.

Returns
TypeDescription
IMessage

The parsed message.

Remarks

The stream is expected to contain a length and then the data. Only the amount of data specified by the length will be consumed.

ParseFrom(ByteString)

public IMessage ParseFrom(ByteString data)

Parses a message from the given byte string.

Parameter
NameDescription
dataByteString

The data to parse.

Returns
TypeDescription
IMessage

The parsed message.

ParseFrom(CodedInputStream)

public IMessage ParseFrom(CodedInputStream input)

Parses a message from the given coded input stream.

Parameter
NameDescription
inputCodedInputStream

The stream to parse.

Returns
TypeDescription
IMessage

The parsed message.

ParseFrom(ReadOnlySequence<byte>)

public IMessage ParseFrom(ReadOnlySequence<byte> data)

Parses a message from the given sequence.

Parameter
NameDescription
dataReadOnlySequencebyte

The data to parse.

Returns
TypeDescription
IMessage

The parsed message.

ParseFrom(byte[])

public IMessage ParseFrom(byte[] data)

Parses a message from a byte array.

Parameter
NameDescription
databyte

The byte array containing the message. Must not be null.

Returns
TypeDescription
IMessage

The newly parsed message.

ParseFrom(byte[], int, int)

public IMessage ParseFrom(byte[] data, int offset, int length)

Parses a message from a byte array slice.

Parameters
NameDescription
databyte

The byte array containing the message. Must not be null.

offsetint

The offset of the slice to parse.

lengthint

The length of the slice to parse.

Returns
TypeDescription
IMessage

The newly parsed message.

ParseFrom(Stream)

public IMessage ParseFrom(Stream input)

Parses a message from the given stream.

Parameter
NameDescription
inputStream

The stream to parse.

Returns
TypeDescription
IMessage

The parsed message.

ParseFrom(ReadOnlySpan<byte>)

public IMessage ParseFrom(ReadOnlySpan<byte> data)

Parses a message from the given span.

Parameter
NameDescription
dataReadOnlySpanbyte

The data to parse.

Returns
TypeDescription
IMessage

The parsed message.

ParseJson(string)

public IMessage ParseJson(string json)

Parses a message from the given JSON.

Parameter
NameDescription
jsonstring

The JSON to parse.

Returns
TypeDescription
IMessage

The parsed message.

Remarks

This method always uses the default JSON parser; it is not affected by WithDiscardUnknownFields(bool). To ignore unknown fields when parsing JSON, create a JsonParser using a JsonParser.Settings with IgnoreUnknownFields set to true and call Parse<T>(string) directly.

Exceptions
TypeDescription
InvalidJsonException

The JSON does not comply with RFC 7159

InvalidProtocolBufferException

The JSON does not represent a Protocol Buffers message correctly

WithDiscardUnknownFields(bool)

public MessageParser WithDiscardUnknownFields(bool discardUnknownFields)

Creates a new message parser which optionally discards unknown fields when parsing.

Parameter
NameDescription
discardUnknownFieldsbool

Whether or not to discard unknown fields when parsing.

Returns
TypeDescription
MessageParser

A newly configured message parser.

Remarks

Note that this does not affect the behavior of ParseJson(string) at all. To ignore unknown fields when parsing JSON, create a JsonParser using a JsonParser.Settings with IgnoreUnknownFields set to true and call Parse<T>(string) directly.

WithExtensionRegistry(ExtensionRegistry)

public MessageParser WithExtensionRegistry(ExtensionRegistry registry)

Creates a new message parser which registers extensions from the specified registry upon creating the message instance

Parameter
NameDescription
registryExtensionRegistry

The extensions to register

Returns
TypeDescription
MessageParser

A newly configured message parser.