Expose Extension field in FieldDescriptor

pull/5936/head
Sydney Acksman 6 years ago
parent 6da14fa94d
commit bdc6cd1d0b
  1. 33
      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);

Loading…
Cancel
Save