BindingFlags.Public needed here as Exception.HResult is now public in .NET 4.5. This...
[mono.git] / mcs / class / dlr / Runtime / Microsoft.Scripting.Core / Utils / Function.cs
1 /* ****************************************************************************
2  *
3  * Copyright (c) Microsoft Corporation. 
4  *
5  * This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
6  * copy of the license can be found in the License.html file at the root of this distribution. If 
7  * you cannot locate the  Apache License, Version 2.0, please send an email to 
8  * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
9  * by the terms of the Apache License, Version 2.0.
10  *
11  * You must not remove this notice, or any other, from this software.
12  *
13  *
14  * ***************************************************************************/
15
16 #if CLR2
17 namespace Microsoft.Scripting.Utils {
18 #else
19 namespace System {
20 #endif
21
22     #region Generated Func Types
23
24     // *** BEGIN GENERATED CODE ***
25     // generated by function: gen_func_types from: generate_dynsites.py
26
27 #if CLR2 || SILVERLIGHT
28
29     /// <summary>
30     /// Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter.
31     /// </summary>
32     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
33     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
34     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
35     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
36     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
37     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
38     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
39     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
40     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
41     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
42     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
43     /// <returns>The return value of the method that this delegate encapsulates.</returns>
44     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
45     public delegate TResult Func<T1, T2, T3, T4, T5, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
46
47     /// <summary>
48     /// Encapsulates a method that has six parameters and returns a value of the type specified by the TResult parameter.
49     /// </summary>
50     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
51     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
52     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
53     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
54     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
55     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
56     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
57     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
58     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
59     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
60     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
61     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
62     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
63     /// <returns>The return value of the method that this delegate encapsulates.</returns>
64     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
65     public delegate TResult Func<T1, T2, T3, T4, T5, T6, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
66
67     /// <summary>
68     /// Encapsulates a method that has seven parameters and returns a value of the type specified by the TResult parameter.
69     /// </summary>
70     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
71     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
72     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
73     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
74     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
75     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
76     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
77     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
78     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
79     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
80     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
81     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
82     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
83     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
84     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
85     /// <returns>The return value of the method that this delegate encapsulates.</returns>
86     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
87     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
88
89     /// <summary>
90     /// Encapsulates a method that has eight parameters and returns a value of the type specified by the TResult parameter.
91     /// </summary>
92     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
93     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
94     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
95     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
96     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
97     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
98     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
99     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
100     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
101     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
102     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
103     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
104     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
105     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
106     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
107     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
108     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
109     /// <returns>The return value of the method that this delegate encapsulates.</returns>
110     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
111     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8);
112
113     /// <summary>
114     /// Encapsulates a method that has nine parameters and returns a value of the type specified by the TResult parameter.
115     /// </summary>
116     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
117     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
118     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
119     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
120     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
121     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
122     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
123     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
124     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
125     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
126     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
127     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
128     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
129     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
130     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
131     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
132     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
133     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
134     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
135     /// <returns>The return value of the method that this delegate encapsulates.</returns>
136     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
137     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9);
138
139     /// <summary>
140     /// Encapsulates a method that has ten parameters and returns a value of the type specified by the TResult parameter.
141     /// </summary>
142     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
143     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
144     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
145     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
146     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
147     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
148     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
149     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
150     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
151     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
152     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
153     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
154     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
155     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
156     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
157     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
158     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
159     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
160     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
161     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
162     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
163     /// <returns>The return value of the method that this delegate encapsulates.</returns>
164     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
165     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10);
166
167     /// <summary>
168     /// Encapsulates a method that has eleven parameters and returns a value of the type specified by the TResult parameter.
169     /// </summary>
170     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
171     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
172     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
173     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
174     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
175     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
176     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
177     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
178     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
179     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
180     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
181     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
182     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
183     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
184     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
185     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
186     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
187     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
188     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
189     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
190     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
191     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
192     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
193     /// <returns>The return value of the method that this delegate encapsulates.</returns>
194     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
195     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11);
196
197     /// <summary>
198     /// Encapsulates a method that has twelve parameters and returns a value of the type specified by the TResult parameter.
199     /// </summary>
200     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
201     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
202     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
203     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
204     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
205     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
206     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
207     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
208     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
209     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
210     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
211     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
212     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
213     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
214     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
215     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
216     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
217     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
218     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
219     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
220     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
221     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
222     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
223     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
224     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
225     /// <returns>The return value of the method that this delegate encapsulates.</returns>
226     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
227     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12);
228
229     /// <summary>
230     /// Encapsulates a method that has thirteen parameters and returns a value of the type specified by the TResult parameter.
231     /// </summary>
232     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
233     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
234     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
235     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
236     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
237     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
238     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
239     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
240     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
241     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
242     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
243     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
244     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
245     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
246     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
247     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
248     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
249     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
250     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
251     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
252     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
253     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
254     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
255     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
256     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
257     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
258     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
259     /// <returns>The return value of the method that this delegate encapsulates.</returns>
260     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
261     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13);
262
263     /// <summary>
264     /// Encapsulates a method that has fourteen parameters and returns a value of the type specified by the TResult parameter.
265     /// </summary>
266     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
267     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
268     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
269     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
270     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
271     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
272     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
273     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
274     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
275     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
276     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
277     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
278     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
279     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
280     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
281     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
282     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
283     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
284     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
285     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
286     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
287     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
288     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
289     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
290     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
291     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
292     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
293     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
294     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
295     /// <returns>The return value of the method that this delegate encapsulates.</returns>
296     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
297     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14);
298
299     /// <summary>
300     /// Encapsulates a method that has fifteen parameters and returns a value of the type specified by the TResult parameter.
301     /// </summary>
302     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
303     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
304     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
305     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
306     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
307     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
308     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
309     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
310     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
311     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
312     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
313     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
314     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
315     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
316     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
317     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
318     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
319     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
320     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
321     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
322     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
323     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
324     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
325     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
326     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
327     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
328     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
329     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
330     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
331     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
332     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
333     /// <returns>The return value of the method that this delegate encapsulates.</returns>
334     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
335     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15);
336
337     /// <summary>
338     /// Encapsulates a method that has sixteen parameters and returns a value of the type specified by the TResult parameter.
339     /// </summary>
340     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
341     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
342     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
343     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
344     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
345     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
346     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
347     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
348     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
349     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
350     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
351     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
352     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
353     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
354     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
355     /// <typeparam name="T16">The type of the sixteenth parameter of the method that this delegate encapsulates.</typeparam>
356     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
357     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
358     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
359     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
360     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
361     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
362     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
363     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
364     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
365     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
366     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
367     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
368     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
369     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
370     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
371     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
372     /// <param name="arg16">The sixteenth parameter of the method that this delegate encapsulates.</param>
373     /// <returns>The return value of the method that this delegate encapsulates.</returns>
374     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
375     public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16);
376 #else
377
378     /// <summary>
379     /// Encapsulates a method that has nine parameters and returns a value of the type specified by the TResult parameter.
380     /// </summary>
381     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
382     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
383     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
384     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
385     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
386     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
387     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
388     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
389     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
390     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
391     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
392     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
393     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
394     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
395     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
396     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
397     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
398     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
399     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
400     /// <returns>The return value of the method that this delegate encapsulates.</returns>
401     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
402     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9);
403
404     /// <summary>
405     /// Encapsulates a method that has ten parameters and returns a value of the type specified by the TResult parameter.
406     /// </summary>
407     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
408     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
409     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
410     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
411     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
412     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
413     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
414     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
415     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
416     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
417     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
418     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
419     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
420     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
421     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
422     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
423     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
424     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
425     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
426     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
427     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
428     /// <returns>The return value of the method that this delegate encapsulates.</returns>
429     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
430     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10);
431
432     /// <summary>
433     /// Encapsulates a method that has eleven parameters and returns a value of the type specified by the TResult parameter.
434     /// </summary>
435     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
436     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
437     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
438     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
439     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
440     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
441     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
442     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
443     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
444     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
445     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
446     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
447     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
448     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
449     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
450     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
451     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
452     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
453     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
454     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
455     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
456     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
457     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
458     /// <returns>The return value of the method that this delegate encapsulates.</returns>
459     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
460     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11);
461
462     /// <summary>
463     /// Encapsulates a method that has twelve parameters and returns a value of the type specified by the TResult parameter.
464     /// </summary>
465     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
466     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
467     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
468     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
469     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
470     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
471     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
472     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
473     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
474     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
475     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
476     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
477     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
478     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
479     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
480     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
481     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
482     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
483     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
484     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
485     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
486     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
487     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
488     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
489     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
490     /// <returns>The return value of the method that this delegate encapsulates.</returns>
491     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
492     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12);
493
494     /// <summary>
495     /// Encapsulates a method that has thirteen parameters and returns a value of the type specified by the TResult parameter.
496     /// </summary>
497     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
498     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
499     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
500     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
501     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
502     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
503     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
504     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
505     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
506     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
507     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
508     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
509     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
510     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
511     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
512     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
513     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
514     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
515     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
516     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
517     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
518     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
519     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
520     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
521     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
522     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
523     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
524     /// <returns>The return value of the method that this delegate encapsulates.</returns>
525     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
526     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13);
527
528     /// <summary>
529     /// Encapsulates a method that has fourteen parameters and returns a value of the type specified by the TResult parameter.
530     /// </summary>
531     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
532     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
533     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
534     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
535     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
536     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
537     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
538     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
539     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
540     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
541     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
542     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
543     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
544     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
545     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
546     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
547     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
548     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
549     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
550     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
551     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
552     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
553     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
554     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
555     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
556     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
557     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
558     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
559     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
560     /// <returns>The return value of the method that this delegate encapsulates.</returns>
561     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
562     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14);
563
564     /// <summary>
565     /// Encapsulates a method that has fifteen parameters and returns a value of the type specified by the TResult parameter.
566     /// </summary>
567     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
568     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
569     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
570     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
571     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
572     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
573     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
574     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
575     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
576     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
577     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
578     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
579     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
580     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
581     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
582     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
583     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
584     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
585     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
586     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
587     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
588     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
589     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
590     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
591     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
592     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
593     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
594     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
595     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
596     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
597     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
598     /// <returns>The return value of the method that this delegate encapsulates.</returns>
599     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
600     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15);
601
602     /// <summary>
603     /// Encapsulates a method that has sixteen parameters and returns a value of the type specified by the TResult parameter.
604     /// </summary>
605     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
606     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
607     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
608     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
609     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
610     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
611     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
612     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
613     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
614     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
615     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
616     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
617     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
618     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
619     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
620     /// <typeparam name="T16">The type of the sixteenth parameter of the method that this delegate encapsulates.</typeparam>
621     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
622     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
623     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
624     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
625     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
626     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
627     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
628     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
629     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
630     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
631     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
632     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
633     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
634     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
635     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
636     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
637     /// <param name="arg16">The sixteenth parameter of the method that this delegate encapsulates.</param>
638     /// <returns>The return value of the method that this delegate encapsulates.</returns>
639     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
640     public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, in T16, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16);
641
642 #endif
643
644     // *** END GENERATED CODE ***
645
646     #endregion
647 }