Class EnumDescriptor (3.23.0)

public sealed class EnumDescriptor : DescriptorBase, IDescriptor

Descriptor for an enum type in a .proto file.

Inheritance

object > DescriptorBase > EnumDescriptor

Implements

IDescriptor

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.

Property Value
Type Description
CustomOptions

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
IListEnumValueDescriptor

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").

Returns
Type Description
EnumValueDescriptor

The value's descriptor, or null if not found.

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
Returns
Type Description
EnumValueDescriptor

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

Parameter
Name Description
extension ExtensionEnumOptions
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

Parameter
Name Description
extension RepeatedExtensionEnumOptions
Returns
Type Description
RepeatedField
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.

Returns
Type Description
EnumOptions

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.