Class EnumDescriptor (3.27.1)
Stay organized with collections
Save and categorize content based on your preferences.
Version latestkeyboard_arrow_down
public sealed class EnumDescriptor : DescriptorBase, IDescriptor
Descriptor for an enum type in a .proto file.
Namespace
Google.Protobuf.Reflection
Assembly
Google.Protobuf.dll
Properties
ClrType
public Type ClrType { get; }
The CLR type for this enum. For generated code, this will be a CLR enum type.
Property Value
Type
Description
Type
ContainingType
public MessageDescriptor ContainingType { get; }
Property Value
Type
Description
MessageDescriptor
If this is a nested type, get the outer descriptor, otherwise null.
CustomOptions
[Obsolete("CustomOptions are obsolete. Use the GetOptions() method.")]
public CustomOptions CustomOptions { get; }
The (possibly empty) set of custom options for this enum.
Name
public override string Name { get; }
The brief name of the descriptor's target.
Property Value
Type
Description
string
Overrides
Values
public IList<EnumValueDescriptor> Values { get; }
Property Value
Type
Description
IList EnumValueDescriptor
An unmodifiable list of defined value descriptors for this enum.
Methods
FindValueByName(string)
public EnumValueDescriptor FindValueByName(string name)
Finds an enum value by name.
Parameter
Name
Description
name
string The unqualified name of the value (e.g. "FOO").
FindValueByNumber(int)
public EnumValueDescriptor FindValueByNumber(int number)
Finds an enum value by number. If multiple enum values have the
same number, this returns the first defined value with that number.
If there is no value for the given number, this returns null.
Parameter
Name
Description
number
int
GetOption<T>(Extension<EnumOptions, T>)
[Obsolete("GetOption is obsolete. Use the GetOptions() method.")]
public T GetOption<T>(Extension<EnumOptions, T> extension)
Gets a single value enum option for this descriptor
Returns
Type
Description
T
Type Parameter
Name
Description
T
GetOption<T>(RepeatedExtension<EnumOptions, T>)
[Obsolete("GetOption is obsolete. Use the GetOptions() method.")]
public RepeatedField<T> GetOption<T>(RepeatedExtension<EnumOptions, T> extension)
Gets a repeated value enum option for this descriptor
Type Parameter
Name
Description
T
GetOptions()
public EnumOptions GetOptions()
The EnumOptions, defined in descriptor.proto.
If the options message is not present (i.e. there are no options), null is returned.
Custom options can be retrieved as extensions of the returned message.
NOTE: A defensive copy is created each time this property is retrieved.
ToProto()
public EnumDescriptorProto ToProto()
Returns a clone of the underlying EnumDescriptorProto describing this enum.
Note that a copy is taken every time this method is called, so clients using it frequently
(and not modifying it) may want to cache the returned value.
Returns
Type
Description
EnumDescriptorProto
A protobuf representation of this enum descriptor.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-03-09 UTC.
[null,null,["Last updated 2026-03-09 UTC."],[],[]]