aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/ProtocolBuffers/FieldAccess/Delegates.cs')
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/Delegates.cs16
1 files changed, 7 insertions, 9 deletions
diff --git a/csharp/ProtocolBuffers/FieldAccess/Delegates.cs b/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
index e6fb4fe8..972961c6 100644
--- a/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
@@ -16,13 +16,11 @@
namespace Google.ProtocolBuffers.FieldAccess {
- // TODO(jonskeet): Convert these to Func/Action family
- delegate bool HasDelegate<T>(T message);
- delegate T ClearDelegate<T>(T builder);
- delegate int RepeatedCountDelegate<T>(T message);
- delegate object GetValueDelegate<T>(T message);
- delegate void SingleValueDelegate<TSource>(TSource source, object value);
- delegate IBuilder CreateBuilderDelegate();
- delegate object GetIndexedValueDelegate<T>(T message, int index);
- delegate object SetIndexedValueDelegate<T>(T message, int index, object value);
+ // These delegate declarations mirror the ones in .NET 3.5 for the sake of familiarity.
+ internal delegate TResult Func<TResult>();
+ internal delegate TResult Func<T, TResult>(T arg);
+ internal delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
+ internal delegate TResult Func<T1, T2, T3, TResult>(T1 arg1, T2 arg2, T3 arg3);
+ internal delegate TResult Func<T1, T2, T3, T4, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
+ internal delegate void Action<T1, T2>(T1 arg1, T2 arg2);
}