我正在尝试使用一些可选参数调用基于其名称的方法:
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()
?