aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs')
-rw-r--r--csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs12
1 files changed, 6 insertions, 6 deletions
diff --git a/csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs b/csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs
index ff51291b..8714ab18 100644
--- a/csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs
+++ b/csharp/src/Google.Protobuf/Reflection/OneofAccessor.cs
@@ -41,8 +41,8 @@ namespace Google.Protobuf.Reflection
/// </summary>
public sealed class OneofAccessor
{
- private readonly Func<object, int> caseDelegate;
- private readonly Action<object> clearDelegate;
+ private readonly Func<IMessage, int> caseDelegate;
+ private readonly Action<IMessage> clearDelegate;
private OneofDescriptor descriptor;
internal OneofAccessor(PropertyInfo caseProperty, MethodInfo clearMethod, OneofDescriptor descriptor)
@@ -52,10 +52,10 @@ namespace Google.Protobuf.Reflection
throw new ArgumentException("Cannot read from property");
}
this.descriptor = descriptor;
- caseDelegate = ReflectionUtil.CreateFuncObjectT<int>(caseProperty.GetGetMethod());
+ caseDelegate = ReflectionUtil.CreateFuncIMessageT<int>(caseProperty.GetGetMethod());
this.descriptor = descriptor;
- clearDelegate = ReflectionUtil.CreateActionObject(clearMethod);
+ clearDelegate = ReflectionUtil.CreateActionIMessage(clearMethod);
}
/// <summary>
@@ -69,7 +69,7 @@ namespace Google.Protobuf.Reflection
/// <summary>
/// Clears the oneof in the specified message.
/// </summary>
- public void Clear(object message)
+ public void Clear(IMessage message)
{
clearDelegate(message);
}
@@ -77,7 +77,7 @@ namespace Google.Protobuf.Reflection
/// <summary>
/// Indicates which field in the oneof is set for specified message
/// </summary>
- public FieldDescriptor GetCaseFieldDescriptor(object message)
+ public FieldDescriptor GetCaseFieldDescriptor(IMessage message)
{
int fieldNumber = caseDelegate(message);
if (fieldNumber > 0)