aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs
diff options
context:
space:
mode:
authorGravatar Jon Skeet <jonskeet@google.com>2017-01-16 11:23:32 +0000
committerGravatar Jon Skeet <skeet@pobox.com>2017-01-19 06:46:04 +0000
commit047575f20cbdee8fb2f88d78a317ffe6133b93e6 (patch)
tree140117944c03c04c58086d451c09cad7fe2ca919 /csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs
parenteed9951991c6ee7c629b5c4252444c372f7774fd (diff)
Support custom options in C#
This consists of: - Changing the codegen for the fixed set of options protos, to parse unknown fields instead of skipping them - Add a new CustomOptions type in the C# support library - Expose CustomOptions properties from the immutable proto wrappers in the support library Only single-value options are currently supported, and fetching options values requires getting the type right and knowing the field number. Both of these can be addressed at a later time. Fixes #2143, at least as a first pass.
Diffstat (limited to 'csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs')
-rw-r--r--csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs b/csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs
index b212ce96..8b838c68 100644
--- a/csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs
+++ b/csharp/src/Google.Protobuf/Reflection/EnumValueDescriptor.cs
@@ -66,5 +66,10 @@ namespace Google.Protobuf.Reflection
/// Returns the enum descriptor that this value is part of.
/// </summary>
public EnumDescriptor EnumDescriptor { get { return enumDescriptor; } }
+
+ /// <summary>
+ /// The (possibly empty) set of custom options for this enum value.
+ /// </summary>
+ public CustomOptions CustomOptions => Proto.Options?.CustomOptions ?? CustomOptions.Empty;
}
} \ No newline at end of file