Google.Protobuf.Reflection.GeneratedClrTypeInfo

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 and Destructors

GeneratedClrTypeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, GeneratedClrTypeInfo[] nestedTypes)
Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.
GeneratedClrTypeInfo(Type[] nestedEnums, GeneratedClrTypeInfo[] nestedTypes)
Creates a GeneratedClrTypeInfo 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.

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

GeneratedClrTypeInfo[] 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

GeneratedClrTypeInfo

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

Creates a GeneratedClrTypeInfo 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.

GeneratedClrTypeInfo

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

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