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
TypeDescription
Type

ContainingType

public MessageDescriptor ContainingType { get; }
Property Value
TypeDescription
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
TypeDescription
CustomOptions

Name

public override string Name { get; }

The brief name of the descriptor's target.

Property Value
TypeDescription
string
Overrides

Values

public IList<EnumValueDescriptor> Values { get; }
Property Value
TypeDescription
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
NameDescription
namestring

The unqualified name of the value (e.g. "FOO").

Returns
TypeDescription
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
NameDescription
numberint
Returns
TypeDescription
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
NameDescription
extensionExtensionEnumOptions
Returns
TypeDescription
T
Type Parameter
NameDescription
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
NameDescription
extensionRepeatedExtensionEnumOptions
Returns
TypeDescription
RepeatedField
Type Parameter
NameDescription
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
TypeDescription
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
TypeDescription
EnumDescriptorProto

A protobuf representation of this enum descriptor.