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 namespace System {
17 
18     /// <summary>
19     /// Encapsulates a method that has nine parameters and returns a value of the type specified by the TResult parameter.
20     /// </summary>
21     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
22     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
23     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
24     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
25     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
26     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
27     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
28     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
29     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
30     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
31     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
32     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
33     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
34     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
35     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
36     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
37     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
38     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
39     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
40     /// <returns>The return value of the method that this delegate encapsulates.</returns>
41     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)42     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);
43 
44     /// <summary>
45     /// Encapsulates a method that has ten parameters and returns a value of the type specified by the TResult parameter.
46     /// </summary>
47     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
48     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
49     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
50     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
51     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
52     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
53     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
54     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
55     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
56     /// <typeparam name="T10">The type of the tenth 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     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
65     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
66     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
67     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
68     /// <returns>The return value of the method that this delegate encapsulates.</returns>
69     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)70     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);
71 
72     /// <summary>
73     /// Encapsulates a method that has eleven parameters and returns a value of the type specified by the TResult parameter.
74     /// </summary>
75     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
76     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
77     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
78     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
79     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
80     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
81     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
82     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
83     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
84     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
85     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
86     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
87     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
88     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
89     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
90     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
91     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
92     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
93     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
94     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
95     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
96     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
97     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
98     /// <returns>The return value of the method that this delegate encapsulates.</returns>
99     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)100     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);
101 
102     /// <summary>
103     /// Encapsulates a method that has twelve parameters and returns a value of the type specified by the TResult parameter.
104     /// </summary>
105     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
106     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
107     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
108     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
109     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
110     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
111     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
112     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
113     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
114     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
115     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
116     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
117     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
118     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
119     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
120     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
121     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
122     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
123     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
124     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
125     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
126     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
127     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
128     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
129     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
130     /// <returns>The return value of the method that this delegate encapsulates.</returns>
131     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)132     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);
133 
134     /// <summary>
135     /// Encapsulates a method that has thirteen parameters and returns a value of the type specified by the TResult parameter.
136     /// </summary>
137     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
138     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
139     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
140     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
141     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
142     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
143     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
144     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
145     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
146     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
147     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
148     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
149     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
150     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
151     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
152     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
153     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
154     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
155     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
156     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
157     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
158     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
159     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
160     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
161     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
162     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
163     /// <param name="arg13">The thirteenth 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")]
Func(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)166     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);
167 
168     /// <summary>
169     /// Encapsulates a method that has fourteen 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="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
183     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
184     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
185     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
186     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
187     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
188     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
189     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
190     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
191     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
192     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
193     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
194     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
195     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
196     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
197     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
198     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
199     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
200     /// <returns>The return value of the method that this delegate encapsulates.</returns>
201     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(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)202     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);
203 
204     /// <summary>
205     /// Encapsulates a method that has fifteen parameters and returns a value of the type specified by the TResult parameter.
206     /// </summary>
207     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
208     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
209     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
210     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
211     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
212     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
213     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
214     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
215     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
216     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
217     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
218     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
219     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
220     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
221     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
222     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
223     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
224     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
225     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
226     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
227     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
228     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
229     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
230     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
231     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
232     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
233     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
234     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
235     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
236     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
237     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
238     /// <returns>The return value of the method that this delegate encapsulates.</returns>
239     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(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)240     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);
241 
242     /// <summary>
243     /// Encapsulates a method that has sixteen parameters and returns a value of the type specified by the TResult parameter.
244     /// </summary>
245     /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
246     /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
247     /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
248     /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
249     /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
250     /// <typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
251     /// <typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
252     /// <typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
253     /// <typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
254     /// <typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
255     /// <typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
256     /// <typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
257     /// <typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
258     /// <typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
259     /// <typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
260     /// <typeparam name="T16">The type of the sixteenth parameter of the method that this delegate encapsulates.</typeparam>
261     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
262     /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
263     /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
264     /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
265     /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
266     /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
267     /// <param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
268     /// <param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
269     /// <param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
270     /// <param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
271     /// <param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
272     /// <param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
273     /// <param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
274     /// <param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
275     /// <param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
276     /// <param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
277     /// <param name="arg16">The sixteenth parameter of the method that this delegate encapsulates.</param>
278     /// <returns>The return value of the method that this delegate encapsulates.</returns>
279     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes")]
Func(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)280     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);
281 
282 }
283