Class GeneratedClrTypeInfo (3.23.0)

public sealed class GeneratedClrTypeInfo

Extra information provided by generated code when initializing a message or file descriptor. These are constructed as required, and are not long-lived. Hand-written code should never need to use this type.

Inheritance

object > GeneratedClrTypeInfo

Namespace

Google.Protobuf.Reflection

Assembly

Google.Protobuf.dll

Constructors

GeneratedClrTypeInfo(Type, MessageParser, string[], string[], Type[], Extension[], GeneratedClrTypeInfo[])

public GeneratedClrTypeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, Extension[] extensions, 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.

Parameters
NameDescription
clrTypeType
parserMessageParser
propertyNamesstring
oneofNamesstring
nestedEnumsType
extensionsExtension
nestedTypesGeneratedClrTypeInfo

GeneratedClrTypeInfo(Type, MessageParser, string[], string[], Type[], GeneratedClrTypeInfo[])

public 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.

Parameters
NameDescription
clrTypeType
parserMessageParser
propertyNamesstring
oneofNamesstring
nestedEnumsType
nestedTypesGeneratedClrTypeInfo

GeneratedClrTypeInfo(Type[], Extension[], GeneratedClrTypeInfo[])

public GeneratedClrTypeInfo(Type[] nestedEnums, Extension[] extensions, GeneratedClrTypeInfo[] nestedTypes)

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

Parameters
NameDescription
nestedEnumsType
extensionsExtension
nestedTypesGeneratedClrTypeInfo

GeneratedClrTypeInfo(Type[], GeneratedClrTypeInfo[])

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

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

Parameters
NameDescription
nestedEnumsType
nestedTypesGeneratedClrTypeInfo

Properties

ClrType

public Type ClrType { get; }

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

Property Value
TypeDescription
Type

Extensions

public Extension[] Extensions { get; }

The extensions defined within this file/message descriptor

Property Value
TypeDescription
Extension

NestedEnums

public Type[] NestedEnums { get; }

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

Property Value
TypeDescription
Type

NestedTypes

public GeneratedClrTypeInfo[] NestedTypes { get; }

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.

Property Value
TypeDescription
GeneratedClrTypeInfo

OneofNames

public string[] OneofNames { get; }

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.

Property Value
TypeDescription
string

Parser

public MessageParser Parser { get; }

Irrelevant for file descriptors; the parser for message descriptors.

Property Value
TypeDescription
MessageParser

PropertyNames

public string[] PropertyNames { get; }

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

Property Value
TypeDescription
string