いくつかのオプションの引数を持つ名前に基づいてメソッドを呼び出そうとしています:
var methodInfo = this.GetType().GetMethod("Foo",
BindingFlags.NonPublic | BindingFlags.Instance);
var queryString = _httpContext.Request.QueryString;
var somethingElse = new List<int>(){ 1,2,3 };
var args = new object[]{ queryString, somethingElse };
if(methodInfo != null)
methodInfo.Invoke(this, args);
private void Foo(object[] args)
{
foreach(var item in args)
//...
}
のみを渡すとqueryString
、args
次のエラーが発生します。
タイプ 'System.Web.HttpValueCollection' のオブジェクトは、タイプ 'System.Object[]' に変換できません。
object[] parameters
引数はどのようmethodInfo.Invoke()
に使用されることを意図していますか?