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
Name Description
input Stream

The stream to parse.

Returns
Type Description
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
Name Description
data ByteString

The data to parse.

Returns
Type Description
IMessage

The parsed message.

ParseFrom(CodedInputStream)

public IMessage ParseFrom(CodedInputStream input)

Parses a message from the given coded input stream.

Parameter
Name Description
input CodedInputStream

The stream to parse.

Returns
Type Description
IMessage

The parsed message.

ParseFrom(ReadOnlySequence<byte>)

public IMessage ParseFrom(ReadOnlySequence<byte> data)

Parses a message from the given sequence.

Parameter
Name Description
data ReadOnlySequencebyte

The data to parse.

Returns
Type Description
IMessage

The parsed message.

ParseFrom(byte[])

public IMessage ParseFrom(byte[] data)

Parses a message from a byte array.

Parameter
Name Description
data byte

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

Returns
Type Description
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
Name Description
data byte

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

offset int

The offset of the slice to parse.

length int

The length of the slice to parse.

Returns
Type Description
IMessage

The newly parsed message.

ParseFrom(Stream)

public IMessage ParseFrom(Stream input)

Parses a message from the given stream.

Parameter
Name Description
input Stream

The stream to parse.

Returns
Type Description
IMessage

The parsed message.

ParseFrom(ReadOnlySpan<byte>)

public IMessage ParseFrom(ReadOnlySpan<byte> data)

Parses a message from the given span.

Parameter
Name Description
data ReadOnlySpanbyte

The data to parse.

Returns
Type Description
IMessage

The parsed message.

ParseJson(string)

public IMessage ParseJson(string json)

Parses a message from the given JSON.

Parameter
Name Description
json string

The JSON to parse.

Returns
Type Description
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
Type Description
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
Name Description
discardUnknownFields bool

Whether or not to discard unknown fields when parsing.

Returns
Type Description
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
Name Description
registry ExtensionRegistry

The extensions to register

Returns
Type Description
MessageParser

A newly configured message parser.