45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
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<IMessage, object> getValueDelegate;
|
|
|
|
// Token: 0x04000217 RID: 535
|
|
private readonly FieldDescriptor descriptor;
|
|
}
|
|
}
|