diff options
author | Jon Skeet <skeet@pobox.com> | 2008-08-21 21:57:58 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-08-21 21:57:58 +0100 |
commit | 0bf2ad145daf4ed7eb0f72c111b496d55233e0b9 (patch) | |
tree | 6c611fe5fb2b26aed50bcc2c4197d7ecc378a6b7 /csharp/ProtocolBuffers/Delegates.cs | |
parent | ad6903fe33ca0a79e7618a25e83de769438d18ce (diff) | |
download | protobuf-0bf2ad145daf4ed7eb0f72c111b496d55233e0b9.tar.gz protobuf-0bf2ad145daf4ed7eb0f72c111b496d55233e0b9.tar.bz2 protobuf-0bf2ad145daf4ed7eb0f72c111b496d55233e0b9.zip |
Implemented popsicle immutability for lists. Modified MessageStreamIterator to be singly generic.
Diffstat (limited to 'csharp/ProtocolBuffers/Delegates.cs')
-rw-r--r-- | csharp/ProtocolBuffers/Delegates.cs | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/csharp/ProtocolBuffers/Delegates.cs b/csharp/ProtocolBuffers/Delegates.cs index 2aa440b1..08774019 100644 --- a/csharp/ProtocolBuffers/Delegates.cs +++ b/csharp/ProtocolBuffers/Delegates.cs @@ -1,8 +1,32 @@ -using System.IO; -namespace Google.ProtocolBuffers { +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. +// http://code.google.com/p/protobuf/ +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +using System.IO; +namespace Google.ProtocolBuffers { /// <summary> /// Delegate to return a stream when asked, used by MessageStreamIterator. /// </summary> public delegate Stream StreamProvider(); + + // 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(); + internal delegate void Action<T1, T2>(T1 arg1, T2 arg2); } |