|
24 | 24 | </Attribute> |
25 | 25 | </Attributes> |
26 | 26 | <Docs> |
27 | | - <summary>To be added.</summary> |
28 | | - <remarks>To be added.</remarks> |
| 27 | + <summary>Provides methods to invoke the method specified by the provided <see cref="T:System.Reflection.MethodBase" />.</summary> |
| 28 | + <remarks>The methods in this class provide better performance than <see cref="M:System.Reflection.MethodBase.Invoke(System.Object,System.Object[])" /> when compatibility with that method isn't necessary and when the caller can cache the MethodInvoker instance for additional invoke calls. Unlike <see cref="M:System.Reflection.MethodBase.Invoke(System.Object,System.Object[])" />, the invoke methods in this class don't look up default values for arguments when <see cref="F:System.Type.Missing" /> is specified. In addition, the target method may be inlined for performance and not appear in stack traces.</remarks> |
29 | 29 | </Docs> |
30 | 30 | <Members> |
31 | 31 | <Member MemberName="Create"> |
|
53 | 53 | <Parameter Name="method" Type="System.Reflection.MethodBase" /> |
54 | 54 | </Parameters> |
55 | 55 | <Docs> |
56 | | - <param name="method">To be added.</param> |
57 | | - <summary>To be added.</summary> |
58 | | - <returns>To be added.</returns> |
59 | | - <remarks>To be added.</remarks> |
| 56 | + <param name="method">The method that will be invoked.</param> |
| 57 | + <summary>Creates a new instance of <see cref="T:System.Reflection.MethodInvoker" />.</summary> |
| 58 | + <returns>The new instance.</returns> |
| 59 | + <remarks>For performance, the resulting instance should be cached for additional calls.</remarks> |
| 60 | + <exception cref="T:System.ArgumentException">The <paramref name="method" /> is not a runtime-based method.</exception> |
60 | 61 | </Docs> |
61 | 62 | </Member> |
62 | 63 | <Member MemberName="Invoke"> |
|
78 | 79 | <Parameter Name="obj" Type="System.Object" /> |
79 | 80 | </Parameters> |
80 | 81 | <Docs> |
81 | | - <param name="obj">To be added.</param> |
82 | | - <summary>To be added.</summary> |
83 | | - <returns>To be added.</returns> |
| 82 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 83 | + <summary>Invokes the method using the specified arguments.</summary> |
| 84 | + <returns>An object containing the return value of the invoked method, or <see langword="null" /> if the invoked method does not have a return value.</returns> |
84 | 85 | <remarks>To be added.</remarks> |
| 86 | + <exception cref="T:System.Reflection.TargetException">The <paramref name="obj" /> argument is <see langword="null" /> and the method is not static. |
| 87 | + |
| 88 | +-or- |
| 89 | + |
| 90 | +The method is not declared or inherited by the class of <paramref name="obj" />.</exception> |
| 91 | + <exception cref="T:System.InvalidOperationException">The type that declares the method is an open generic type.</exception> |
| 92 | + <exception cref="T:System.Reflection.TargetParameterCountException">An incorrect number of arguments was provided.</exception> |
| 93 | + <exception cref="T:System.NotSupportedException">The calling convention or signature is not supported.</exception> |
85 | 94 | </Docs> |
86 | 95 | </Member> |
87 | 96 | <Member MemberName="Invoke"> |
|
104 | 113 | <Parameter Name="arg1" Type="System.Object" /> |
105 | 114 | </Parameters> |
106 | 115 | <Docs> |
107 | | - <param name="obj">To be added.</param> |
108 | | - <param name="arg1">To be added.</param> |
| 116 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 117 | + <param name="arg1">The first argument for the invoked method.</param> |
109 | 118 | <summary>To be added.</summary> |
110 | 119 | <returns>To be added.</returns> |
111 | 120 | <remarks>To be added.</remarks> |
| 121 | + <inheritdoc cref="M:System.Reflection.MethodInvoker.Invoke(System.Object)" /> |
| 122 | + <exception cref="T:System.ArgumentException">The arguments do not match the signature of the invoked method.</exception> |
112 | 123 | </Docs> |
113 | 124 | </Member> |
114 | 125 | <Member MemberName="Invoke"> |
|
138 | 149 | </Parameter> |
139 | 150 | </Parameters> |
140 | 151 | <Docs> |
141 | | - <param name="obj">To be added.</param> |
142 | | - <param name="arguments">To be added.</param> |
| 152 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 153 | + <param name="arguments">The arguments for the invoked method.</param> |
143 | 154 | <summary>To be added.</summary> |
144 | 155 | <returns>To be added.</returns> |
145 | 156 | <remarks>To be added.</remarks> |
| 157 | + <inheritdoc cref="M:System.Reflection.MethodInvoker.Invoke(System.Object)" /> |
| 158 | + <exception cref="T:System.ArgumentException">The arguments do not match the signature of the invoked method.</exception> |
146 | 159 | </Docs> |
147 | 160 | </Member> |
148 | 161 | <Member MemberName="Invoke"> |
|
166 | 179 | <Parameter Name="arg2" Type="System.Object" /> |
167 | 180 | </Parameters> |
168 | 181 | <Docs> |
169 | | - <param name="obj">To be added.</param> |
170 | | - <param name="arg1">To be added.</param> |
171 | | - <param name="arg2">To be added.</param> |
| 182 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 183 | + <param name="arg1">The first argument for the invoked method.</param> |
| 184 | + <param name="arg2">The second argument for the invoked method.</param> |
172 | 185 | <summary>To be added.</summary> |
173 | 186 | <returns>To be added.</returns> |
174 | 187 | <remarks>To be added.</remarks> |
| 188 | + <inheritdoc cref="M:System.Reflection.MethodInvoker.Invoke(System.Object)" /> |
175 | 189 | </Docs> |
176 | 190 | </Member> |
177 | 191 | <Member MemberName="Invoke"> |
|
196 | 210 | <Parameter Name="arg3" Type="System.Object" /> |
197 | 211 | </Parameters> |
198 | 212 | <Docs> |
199 | | - <param name="obj">To be added.</param> |
200 | | - <param name="arg1">To be added.</param> |
201 | | - <param name="arg2">To be added.</param> |
202 | | - <param name="arg3">To be added.</param> |
| 213 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 214 | + <param name="arg1">The first argument for the invoked method.</param> |
| 215 | + <param name="arg2">The second argument for the invoked method.</param> |
| 216 | + <param name="arg3">The third argument for the invoked method.</param> |
203 | 217 | <summary>To be added.</summary> |
204 | 218 | <returns>To be added.</returns> |
205 | 219 | <remarks>To be added.</remarks> |
| 220 | + <inheritdoc cref="M:System.Reflection.MethodInvoker.Invoke(System.Object)" /> |
206 | 221 | </Docs> |
207 | 222 | </Member> |
208 | 223 | <Member MemberName="Invoke"> |
|
228 | 243 | <Parameter Name="arg4" Type="System.Object" /> |
229 | 244 | </Parameters> |
230 | 245 | <Docs> |
231 | | - <param name="obj">To be added.</param> |
232 | | - <param name="arg1">To be added.</param> |
233 | | - <param name="arg2">To be added.</param> |
234 | | - <param name="arg3">To be added.</param> |
235 | | - <param name="arg4">To be added.</param> |
| 246 | + <param name="obj">The object on which to invoke the method. If the method is static, this argument is ignored.</param> |
| 247 | + <param name="arg1">The first argument for the invoked method.</param> |
| 248 | + <param name="arg2">The second argument for the invoked method.</param> |
| 249 | + <param name="arg3">The third argument for the invoked method.</param> |
| 250 | + <param name="arg4">The fourth argument for the invoked method.</param> |
236 | 251 | <summary>To be added.</summary> |
237 | 252 | <returns>To be added.</returns> |
238 | 253 | <remarks>To be added.</remarks> |
| 254 | + <inheritdoc cref="M:System.Reflection.MethodInvoker.Invoke(System.Object)" /> |
239 | 255 | </Docs> |
240 | 256 | </Member> |
241 | 257 | </Members> |
|
0 commit comments