GameFrameworkFunc.cs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 loyalsoft. All rights reserved.
  4. // Homepage: http://www.game7000.com/
  5. // Feedback: http://www.game7000.com/
  6. //------------------------------------------------------------
  7. namespace GameFramework
  8. {
  9. /// <summary>
  10. /// 封装一个方法,该方法不具有参数,但却返回 TResult 参数指定的类型的值。
  11. /// </summary>
  12. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  13. /// <returns>此委托封装的方法的返回值。</returns>
  14. public delegate TResult GameFrameworkFunc<out TResult>();
  15. /// <summary>
  16. /// 封装一个方法,该方法具有一个参数,并返回 TResult 参数所指定的类型的值。
  17. /// </summary>
  18. /// <typeparam name="T">此委托封装的方法的参数类型。</typeparam>
  19. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  20. /// <param name="arg">此委托封装的方法的参数。</param>
  21. /// <returns>此委托封装的方法的返回值。</returns>
  22. public delegate TResult GameFrameworkFunc<in T, out TResult>(T arg);
  23. /// <summary>
  24. /// 封装一个方法,该方法具有两个参数,并返回 TResult 参数所指定的类型的值。
  25. /// </summary>
  26. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  27. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  28. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  29. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  30. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  31. /// <returns>此委托封装的方法的返回值。</returns>
  32. public delegate TResult GameFrameworkFunc<in T1, in T2, out TResult>(T1 arg1, T2 arg2);
  33. /// <summary>
  34. /// 封装一个方法,该方法具有三个参数,并返回 TResult 参数所指定的类型的值。
  35. /// </summary>
  36. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  37. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  38. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  39. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  40. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  41. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  42. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  43. /// <returns>此委托封装的方法的返回值。</returns>
  44. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, out TResult>(T1 arg1, T2 arg2, T3 arg3);
  45. /// <summary>
  46. /// 封装一个方法,该方法具有四个参数,并返回 TResult 参数所指定的类型的值。
  47. /// </summary>
  48. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  49. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  50. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  51. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  52. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  53. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  54. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  55. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  56. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  57. /// <returns>此委托封装的方法的返回值。</returns>
  58. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, in T4, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
  59. /// <summary>
  60. /// 封装一个方法,该方法具有五个参数,并返回 TResult 参数所指定的类型的值。
  61. /// </summary>
  62. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  63. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  64. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  65. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  66. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  67. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  68. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  69. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  70. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  71. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  72. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  73. /// <returns>此委托封装的方法的返回值。</returns>
  74. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, in T4, in T5, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
  75. /// <summary>
  76. /// 封装一个方法,该方法具有六个参数,并返回 TResult 参数所指定的类型的值。
  77. /// </summary>
  78. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  79. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  80. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  81. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  82. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  83. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  84. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  85. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  86. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  87. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  88. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  89. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  90. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  91. /// <returns>此委托封装的方法的返回值。</returns>
  92. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, in T4, in T5, in T6, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
  93. /// <summary>
  94. /// 封装一个方法,该方法具有七个参数,并返回 TResult 参数所指定的类型的值。
  95. /// </summary>
  96. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  97. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  98. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  99. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  100. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  101. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  102. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  103. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  104. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  105. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  106. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  107. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  108. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  109. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  110. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  111. /// <returns>此委托封装的方法的返回值。</returns>
  112. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, in T4, in T5, in T6, in T7, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
  113. /// <summary>
  114. /// 封装一个方法,该方法具有八个参数,并返回 TResult 参数所指定的类型的值。
  115. /// </summary>
  116. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  117. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  118. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  119. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  120. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  121. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  122. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  123. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  124. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  125. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  126. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  127. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  128. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  129. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  130. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  131. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  132. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  133. /// <returns>此委托封装的方法的返回值。</returns>
  134. public delegate TResult GameFrameworkFunc<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8);
  135. /// <summary>
  136. /// 封装一个方法,该方法具有九个参数,并返回 TResult 参数所指定的类型的值。
  137. /// </summary>
  138. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  139. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  140. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  141. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  142. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  143. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  144. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  145. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  146. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  147. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  148. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  149. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  150. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  151. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  152. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  153. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  154. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  155. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  156. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  157. /// <returns>此委托封装的方法的返回值。</returns>
  158. public delegate TResult GameFrameworkFunc<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);
  159. /// <summary>
  160. /// 封装一个方法,该方法具有十个参数,并返回 TResult 参数所指定的类型的值。
  161. /// </summary>
  162. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  163. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  164. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  165. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  166. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  167. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  168. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  169. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  170. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  171. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  172. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  173. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  174. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  175. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  176. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  177. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  178. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  179. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  180. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  181. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  182. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  183. /// <returns>此委托封装的方法的返回值。</returns>
  184. public delegate TResult GameFrameworkFunc<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);
  185. /// <summary>
  186. /// 封装一个方法,该方法具有十一个参数,并返回 TResult 参数所指定的类型的值。
  187. /// </summary>
  188. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  189. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  190. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  191. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  192. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  193. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  194. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  195. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  196. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  197. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  198. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  199. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  200. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  201. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  202. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  203. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  204. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  205. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  206. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  207. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  208. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  209. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  210. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  211. /// <returns>此委托封装的方法的返回值。</returns>
  212. public delegate TResult GameFrameworkFunc<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);
  213. /// <summary>
  214. /// 封装一个方法,该方法具有十二个参数,并返回 TResult 参数所指定的类型的值。
  215. /// </summary>
  216. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  217. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  218. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  219. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  220. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  221. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  222. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  223. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  224. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  225. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  226. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  227. /// <typeparam name="T12">此委托封装的方法的第十二个参数的类型。</typeparam>
  228. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  229. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  230. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  231. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  232. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  233. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  234. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  235. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  236. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  237. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  238. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  239. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  240. /// <param name="arg12">此委托封装的方法的第十二个参数。</param>
  241. /// <returns>此委托封装的方法的返回值。</returns>
  242. public delegate TResult GameFrameworkFunc<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);
  243. /// <summary>
  244. /// 封装一个方法,该方法具有十三个参数,并返回 TResult 参数所指定的类型的值。
  245. /// </summary>
  246. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  247. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  248. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  249. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  250. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  251. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  252. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  253. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  254. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  255. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  256. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  257. /// <typeparam name="T12">此委托封装的方法的第十二个参数的类型。</typeparam>
  258. /// <typeparam name="T13">此委托封装的方法的第十三个参数的类型。</typeparam>
  259. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  260. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  261. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  262. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  263. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  264. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  265. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  266. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  267. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  268. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  269. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  270. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  271. /// <param name="arg12">此委托封装的方法的第十二个参数。</param>
  272. /// <param name="arg13">此委托封装的方法的第十三个参数。</param>
  273. /// <returns>此委托封装的方法的返回值。</returns>
  274. public delegate TResult GameFrameworkFunc<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);
  275. /// <summary>
  276. /// 封装一个方法,该方法具有十四个参数,并返回 TResult 参数所指定的类型的值。
  277. /// </summary>
  278. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  279. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  280. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  281. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  282. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  283. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  284. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  285. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  286. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  287. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  288. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  289. /// <typeparam name="T12">此委托封装的方法的第十二个参数的类型。</typeparam>
  290. /// <typeparam name="T13">此委托封装的方法的第十三个参数的类型。</typeparam>
  291. /// <typeparam name="T14">此委托封装的方法的第十四个参数的类型。</typeparam>
  292. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  293. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  294. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  295. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  296. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  297. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  298. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  299. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  300. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  301. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  302. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  303. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  304. /// <param name="arg12">此委托封装的方法的第十二个参数。</param>
  305. /// <param name="arg13">此委托封装的方法的第十三个参数。</param>
  306. /// <param name="arg14">此委托封装的方法的第十四个参数。</param>
  307. /// <returns>此委托封装的方法的返回值。</returns>
  308. public delegate TResult GameFrameworkFunc<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);
  309. /// <summary>
  310. /// 封装一个方法,该方法具有十五个参数,并返回 TResult 参数所指定的类型的值。
  311. /// </summary>
  312. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  313. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  314. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  315. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  316. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  317. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  318. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  319. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  320. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  321. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  322. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  323. /// <typeparam name="T12">此委托封装的方法的第十二个参数的类型。</typeparam>
  324. /// <typeparam name="T13">此委托封装的方法的第十三个参数的类型。</typeparam>
  325. /// <typeparam name="T14">此委托封装的方法的第十四个参数的类型。</typeparam>
  326. /// <typeparam name="T15">此委托封装的方法的第十五个参数的类型。</typeparam>
  327. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  328. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  329. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  330. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  331. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  332. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  333. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  334. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  335. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  336. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  337. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  338. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  339. /// <param name="arg12">此委托封装的方法的第十二个参数。</param>
  340. /// <param name="arg13">此委托封装的方法的第十三个参数。</param>
  341. /// <param name="arg14">此委托封装的方法的第十四个参数。</param>
  342. /// <param name="arg15">此委托封装的方法的第十五个参数。</param>
  343. /// <returns>此委托封装的方法的返回值。</returns>
  344. public delegate TResult GameFrameworkFunc<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);
  345. /// <summary>
  346. /// 封装一个方法,该方法具有十六个参数,并返回 TResult 参数所指定的类型的值。
  347. /// </summary>
  348. /// <typeparam name="T1">此委托封装的方法的第一个参数的类型。</typeparam>
  349. /// <typeparam name="T2">此委托封装的方法的第二个参数的类型。</typeparam>
  350. /// <typeparam name="T3">此委托封装的方法的第三个参数的类型。</typeparam>
  351. /// <typeparam name="T4">此委托封装的方法的第四个参数的类型。</typeparam>
  352. /// <typeparam name="T5">此委托封装的方法的第五个参数的类型。</typeparam>
  353. /// <typeparam name="T6">此委托封装的方法的第六个参数的类型。</typeparam>
  354. /// <typeparam name="T7">此委托封装的方法的第七个参数的类型。</typeparam>
  355. /// <typeparam name="T8">此委托封装的方法的第八个参数的类型。</typeparam>
  356. /// <typeparam name="T9">此委托封装的方法的第九个参数的类型。</typeparam>
  357. /// <typeparam name="T10">此委托封装的方法的第十个参数的类型。</typeparam>
  358. /// <typeparam name="T11">此委托封装的方法的第十一个参数的类型。</typeparam>
  359. /// <typeparam name="T12">此委托封装的方法的第十二个参数的类型。</typeparam>
  360. /// <typeparam name="T13">此委托封装的方法的第十三个参数的类型。</typeparam>
  361. /// <typeparam name="T14">此委托封装的方法的第十四个参数的类型。</typeparam>
  362. /// <typeparam name="T15">此委托封装的方法的第十五个参数的类型。</typeparam>
  363. /// <typeparam name="T16">此委托封装的方法的第十六个参数的类型。</typeparam>
  364. /// <typeparam name="TResult">此委托封装的方法的返回值类型。</typeparam>
  365. /// <param name="arg1">此委托封装的方法的第一个参数。</param>
  366. /// <param name="arg2">此委托封装的方法的第二个参数。</param>
  367. /// <param name="arg3">此委托封装的方法的第三个参数。</param>
  368. /// <param name="arg4">此委托封装的方法的第四个参数。</param>
  369. /// <param name="arg5">此委托封装的方法的第五个参数。</param>
  370. /// <param name="arg6">此委托封装的方法的第六个参数。</param>
  371. /// <param name="arg7">此委托封装的方法的第七个参数。</param>
  372. /// <param name="arg8">此委托封装的方法的第八个参数。</param>
  373. /// <param name="arg9">此委托封装的方法的第九个参数。</param>
  374. /// <param name="arg10">此委托封装的方法的第十个参数。</param>
  375. /// <param name="arg11">此委托封装的方法的第十一个参数。</param>
  376. /// <param name="arg12">此委托封装的方法的第十二个参数。</param>
  377. /// <param name="arg13">此委托封装的方法的第十三个参数。</param>
  378. /// <param name="arg14">此委托封装的方法的第十四个参数。</param>
  379. /// <param name="arg15">此委托封装的方法的第十五个参数。</param>
  380. /// <param name="arg16">此委托封装的方法的第十六个参数。</param>
  381. /// <returns>此委托封装的方法的返回值。</returns>
  382. public delegate TResult GameFrameworkFunc<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);
  383. }