Protocol Buffers .NET Runtime Library API Reference

Protocol Buffers .NET Runtime Library

Google.Protobuf

Classes

ByteString Immutable array of bytes.
CodedInputStream Reads and decodes protocol message fields.
CodedOutputStream Encodes and writes protocol message fields.
CodedOutputStream.OutOfSpaceException Indicates that a CodedOutputStream wrapping a flat byte array ran out of space.
FieldCodec Factory methods for FieldCodec{T}.
FieldCodec< T >
InvalidJsonException Thrown when an attempt is made to parse invalid JSON, e.g.
InvalidProtocolBufferException Thrown when a protocol message being parsed is invalid in some way, e.g.
JsonFormatter Reflection-based converter from messages to JSON.
JsonFormatter.Settings Settings controlling JSON formatting.
JsonParser Reflection-based converter from JSON to messages.
JsonParser.Settings Settings controlling JSON parsing.
MessageExtensions Extension methods on IMessage and IMessage{T}.
MessageParser A general message parser, typically used by reflection-based code as all the methods return simple IMessage.
MessageParser< T > A parser for a specific message type.
ProtoPreconditions Helper methods for throwing exceptions when preconditions are not met.
WireFormat This class is used internally by the Protocol Buffer Library and generated message implementations.

Interfaces

ICustomDiagnosticMessage A message type that has a custom string format for diagnostic purposes.
IDeepCloneable< T > Generic interface for a deeply cloneable type.
IMessage Interface for a Protocol Buffers message, supporting basic operations required for serialization.
IMessage< T > Generic interface for a Protocol Buffers message, where the type parameter is expected to be the same type as the implementation class.

Google.Protobuf.Collections

Classes

MapField< TKey, TValue > Representation of a map field in a Protocol Buffer message.
MapField< TKey, TValue >.Codec A codec for a specific map field.
RepeatedField< T > The contents of a repeated field: essentially, a collection with some extra restrictions (no null values) and capabilities (deep cloning).

Google.Protobuf.Reflection

Classes

DescriptorBase Base class for nearly all descriptors, providing common functionality.
DescriptorValidationException Thrown when building descriptors fails because the source DescriptorProtos are not valid.
EnumDescriptor Descriptor for an enum type in a .proto file.
EnumValueDescriptor Descriptor for a single enum value within an enum in a .proto file.
FieldDescriptor Descriptor for a field or extension within a message in a .proto file.
FileDescriptor Describes a .proto file, including everything defined within.
GeneratedClrTypeInfo Extra information provided by generated code when initializing a message or file descriptor.
MessageDescriptor Describes a message type.
MessageDescriptor.FieldCollection A collection to simplify retrieving the field accessor for a particular field.
MethodDescriptor Describes a single method in a service.
OneofAccessor Reflection access for a oneof, allowing clear and "get case" actions.
OneofDescriptor Describes a "oneof" field collection in a message type: a set of fields of which at most one can be set in any particular message.
OriginalNameAttribute Specifies the original name (in the .proto file) of a named element, such as an enum value.
ServiceDescriptor Describes a service type.
TypeRegistry An immutable registry of types which can be looked up by their full name.

Interfaces

IDescriptor Interface implemented by all descriptor types.
IFieldAccessor Allows fields to be reflectively accessed.

Google.Protobuf.WellKnownTypes

Classes

Any Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
AnyReflection Holder for reflection information generated from google/protobuf/any.proto
Api Api is a light-weight descriptor for a protocol buffer service.
ApiReflection Holder for reflection information generated from google/protobuf/api.proto
BoolValue Wrapper message for bool.
BytesValue Wrapper message for bytes.
DoubleValue Wrapper message for double.
Duration A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution.
DurationReflection Holder for reflection information generated from google/protobuf/duration.proto
Empty A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs.
EmptyReflection Holder for reflection information generated from google/protobuf/empty.proto
Enum Enum type definition.
EnumValue Enum value definition.
Field A single field of a message type.
Field.Types Container for nested types declared in the Field message type.
FieldMask FieldMask represents a set of symbolic field paths, for example:
FieldMaskReflection Holder for reflection information generated from google/protobuf/field_mask.proto
FloatValue Wrapper message for float.
Int32Value Wrapper message for int32.
Int64Value Wrapper message for int64.
ListValue ListValue is a wrapper around a repeated field of values.
Method Method represents a method of an api.
Mixin Declares an API to be included in this API.
Option A protocol buffer option, which can be attached to a message, field, enumeration, etc.
SourceContext SourceContext represents information about the source of a protobuf element, like the file in which it is defined.
SourceContextReflection Holder for reflection information generated from google/protobuf/source_context.proto
StringValue Wrapper message for string.
Struct Struct represents a structured data value, consisting of fields which map to dynamically typed values.
StructReflection Holder for reflection information generated from google/protobuf/struct.proto
TimeExtensions Extension methods on BCL time-related types, converting to protobuf types.
Timestamp A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time.
TimestampReflection Holder for reflection information generated from google/protobuf/timestamp.proto
Type A protocol buffer message type.
TypeReflection Holder for reflection information generated from google/protobuf/type.proto
UInt32Value Wrapper message for uint32.
UInt64Value Wrapper message for uint64.
Value Value represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.
WrappersReflection Holder for reflection information generated from google/protobuf/wrappers.proto