Pārlūkot izejas kodu

Expose Extension field in FieldDescriptor

Sydney Acksman 6 gadi atpakaļ
vecāks
revīzija
bdc6cd1d0b
1 mainītis faili ar 18 papildinājumiem un 15 dzēšanām
  1. 18 15
      csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs

+ 18 - 15
csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs

@@ -66,7 +66,10 @@ namespace Google.Protobuf.Reflection
 
         internal FieldDescriptorProto Proto { get; }
 
-        internal Extension Extension { get; }
+        /// <summary>
+        /// An extension identifier for this field, or <c>null</c> if this field isn't an extension.
+        /// </summary>
+        public Extension Extension { get; }
 
         internal FieldDescriptor(FieldDescriptorProto proto, FileDescriptor file,
                                  MessageDescriptor parent, int index, string propertyName, Extension extension)
@@ -201,19 +204,19 @@ namespace Google.Protobuf.Reflection
         /// <summary>
         /// Returns <c>true</c> if this field is a packed, repeated field; <c>false</c> otherwise.
         /// </summary>
-        public bool IsPacked
-        {
-            get
-            {
-                if (File.Syntax != Syntax.Proto3)
-                {
-                    return Proto.Options?.Packed ?? false;
-                }
-                else
-                {
-                    return !Proto.Options.HasPacked || Proto.Options.Packed;
-                }
-            }
+        public bool IsPacked
+        {
+            get
+            {
+                if (File.Syntax != Syntax.Proto3)
+                {
+                    return Proto.Options?.Packed ?? false;
+                }
+                else
+                {
+                    return !Proto.Options.HasPacked || Proto.Options.Packed;
+                }
+            }
         }
 
         /// <summary>
@@ -393,7 +396,7 @@ namespace Google.Protobuf.Reflection
         }
 
         private IFieldAccessor CreateAccessor()
-        {
+        {
             if (Extension != null)
             {
                 return new ExtensionAccessor(this);