Google.Protobuf.Reflection.GeneratedCodeInfo

Extra information provided by generated code when initializing a message or file descriptor.

Summary

These are constructed as required, and are not long-lived. Hand-written code should never need to use this type.

Constructors

GeneratedCodeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, GeneratedCodeInfo[] nestedTypes)
Creates a GeneratedCodeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.
GeneratedCodeInfo(Type[] nestedEnums, GeneratedCodeInfo[] nestedTypes)
Creates a GeneratedCodeInfo for a file descriptor, with only types and enums.

Properties

ClrType
Type
Irrelevant for file descriptors; the CLR type for the message for message descriptors.
NestedEnums
Type[]
The CLR types for enums within this file/message descriptor.
NestedTypes
The reflection information for types within this file/message descriptor.
OneofNames
string[]
Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) for oneofs in the message for message descriptors.
Parser
Irrelevant for file descriptors; the parser for message descriptors.
PropertyNames
string[]
Irrelevant for file descriptors; the CLR property names (in message descriptor field order) for fields in the message for message descriptors.

Public functions

GeneratedCodeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, GeneratedCodeInfo[] nestedTypes)
Creates a GeneratedCodeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.
GeneratedCodeInfo(Type[] nestedEnums, GeneratedCodeInfo[] nestedTypes)
Creates a GeneratedCodeInfo for a file descriptor, with only types and enums.

Properties

ClrType

Type ClrType

Irrelevant for file descriptors; the CLR type for the message for message descriptors.

NestedEnums

Type[] NestedEnums

The CLR types for enums within this file/message descriptor.

NestedTypes

GeneratedCodeInfo[] NestedTypes

The reflection information for types within this file/message descriptor.

Elements may be null if there is no corresponding generated type, e.g. for map entry types.

OneofNames

string[] OneofNames

Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) for oneofs in the message for message descriptors.

It is expected that for a oneof name of "Foo", there will be a "FooCase" property and a "ClearFoo" method.

Parser

MessageParser Parser

Irrelevant for file descriptors; the parser for message descriptors.

PropertyNames

string[] PropertyNames

Irrelevant for file descriptors; the CLR property names (in message descriptor field order) for fields in the message for message descriptors.

Public functions

GeneratedCodeInfo

 GeneratedCodeInfo(
  Type clrType,
  MessageParser parser,
  string[] propertyNames,
  string[] oneofNames,
  Type[] nestedEnums,
  GeneratedCodeInfo[] nestedTypes
)

Creates a GeneratedCodeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.

Each array parameter may be null, to indicate a lack of values. The parameter order is designed to make it feasible to format the generated code readably.

GeneratedCodeInfo

 GeneratedCodeInfo(
  Type[] nestedEnums,
  GeneratedCodeInfo[] nestedTypes
)

Creates a GeneratedCodeInfo for a file descriptor, with only types and enums.