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