using System; using System.Reflection; namespace Google.Protobuf.Reflection { // Token: 0x0200005B RID: 91 internal abstract class FieldAccessorBase : IFieldAccessor { // Token: 0x06000582 RID: 1410 RVA: 0x00013B64 File Offset: 0x00011D64 internal FieldAccessorBase(PropertyInfo property, FieldDescriptor descriptor) { this.descriptor = descriptor; this.getValueDelegate = ReflectionUtil.CreateFuncIMessageObject(property.GetGetMethod()); } // Token: 0x17000171 RID: 369 // (get) Token: 0x06000583 RID: 1411 RVA: 0x00013B84 File Offset: 0x00011D84 public FieldDescriptor Descriptor { get { return this.descriptor; } } // Token: 0x06000584 RID: 1412 RVA: 0x00013B8C File Offset: 0x00011D8C public object GetValue(IMessage message) { return this.getValueDelegate(message); } // Token: 0x06000585 RID: 1413 public abstract void Clear(IMessage message); // Token: 0x06000586 RID: 1414 public abstract void SetValue(IMessage message, object value); // Token: 0x04000216 RID: 534 private readonly Func getValueDelegate; // Token: 0x04000217 RID: 535 private readonly FieldDescriptor descriptor; } }