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
Inherited Members
Namespace: Google.Protobuf.Reflection
Assembly: Google.Protobuf.dll
Syntax
public sealed class GeneratedClrTypeInfo
Constructors
GeneratedClrTypeInfo(Type, MessageParser, String[], String[], Type[], Extension[], GeneratedClrTypeInfo[])
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.
Declaration
public GeneratedClrTypeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, Extension[] extensions, GeneratedClrTypeInfo[] nestedTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Type | clrType | |
MessageParser | parser | |
System.String[] | propertyNames | |
System.String[] | oneofNames | |
System.Type[] | nestedEnums | |
Extension[] | extensions | |
GeneratedClrTypeInfo[] | nestedTypes |
GeneratedClrTypeInfo(Type, MessageParser, String[], String[], Type[], GeneratedClrTypeInfo[])
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.
Declaration
public GeneratedClrTypeInfo(Type clrType, MessageParser parser, string[] propertyNames, string[] oneofNames, Type[] nestedEnums, GeneratedClrTypeInfo[] nestedTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Type | clrType | |
MessageParser | parser | |
System.String[] | propertyNames | |
System.String[] | oneofNames | |
System.Type[] | nestedEnums | |
GeneratedClrTypeInfo[] | nestedTypes |
GeneratedClrTypeInfo(Type[], Extension[], GeneratedClrTypeInfo[])
Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions.
Declaration
public GeneratedClrTypeInfo(Type[] nestedEnums, Extension[] extensions, GeneratedClrTypeInfo[] nestedTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Type[] | nestedEnums | |
Extension[] | extensions | |
GeneratedClrTypeInfo[] | nestedTypes |
GeneratedClrTypeInfo(Type[], GeneratedClrTypeInfo[])
Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums.
Declaration
public GeneratedClrTypeInfo(Type[] nestedEnums, GeneratedClrTypeInfo[] nestedTypes)
Parameters
Type | Name | Description |
---|---|---|
System.Type[] | nestedEnums | |
GeneratedClrTypeInfo[] | nestedTypes |
Properties
ClrType
Irrelevant for file descriptors; the CLR type for the message for message descriptors.
Declaration
public Type ClrType { get; }
Property Value
Type | Description |
---|---|
System.Type |
Extensions
The extensions defined within this file/message descriptor
Declaration
public Extension[] Extensions { get; }
Property Value
Type | Description |
---|---|
Extension[] |
NestedEnums
The CLR types for enums within this file/message descriptor.
Declaration
public Type[] NestedEnums { get; }
Property Value
Type | Description |
---|---|
System.Type[] |
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.
Declaration
public GeneratedClrTypeInfo[] NestedTypes { get; }
Property Value
Type | Description |
---|---|
GeneratedClrTypeInfo[] |
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.
Declaration
public string[] OneofNames { get; }
Property Value
Type | Description |
---|---|
System.String[] |
Parser
Irrelevant for file descriptors; the parser for message descriptors.
Declaration
public MessageParser Parser { get; }
Property Value
Type | Description |
---|---|
MessageParser |
PropertyNames
Irrelevant for file descriptors; the CLR property names (in message descriptor field order) for fields in the message for message descriptors.
Declaration
public string[] PropertyNames { get; }
Property Value
Type | Description |
---|---|
System.String[] |