C# 反射参数不匹配

C# 反射参数不匹配,c#,reflection,C#,Reflection,我已经在SO和Google上查找了一些类似的问题,但找不到解决我问题的方法 基本上,在我的restful API的一个类中,这段代码的参数不匹配: Param是一个字符串,是我要使用的方法的名称 var myType = typeof(JaberoDC.JaberoDC.JaberoDC); var method = myType .GetMethods(BindingFlags.Public | BindingFlags.Instance | Bindi

我已经在SO和Google上查找了一些类似的问题,但找不到解决我问题的方法

基本上,在我的restful API的一个类中,这段代码的参数不匹配:

Param是一个字符串,是我要使用的方法的名称

var myType = typeof(JaberoDC.JaberoDC.JaberoDC);
        var method = myType
            .GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)
            .Single(mi =>mi.ReturnType == typeof(DataSet) 
            && string.Equals(mi.Name, param, StringComparison.OrdinalIgnoreCase));
        var subject = Activator.CreateInstance(myType);
        var result = method.Invoke(subject, new Object[] {"", conStr, ""}); //error here
尽管我调用了与此完全相同的方法:

DataSet ds = jdc.FETCHvw_WorksiteEntry("", conStr, "");

有什么线索吗

编辑:


您调用的方法有3个可选参数,在C代码中调用它们时不需要指定它们,但在通过反射调用方法时需要指定它们

var result = method.Invoke(subject, new Object[] {"", conStr, "", 0, 0, null});

反射会忽略可选参数,如果您不想指定这些参数,请自行为此类调用构建一个帮助器方法,并将这些参数自动添加到数组中。

您得到的确切错误是什么?这是与前面问题的重复吗?不是重复,这个问题的继续。如果你能提供一个。例如,如果方法有可选参数或参数数组,这可以解释一切。向我们展示方法定义,这会有所帮助。我真不敢相信我的失误有多小。谢谢,伙计!现在是更困难的部分;要动态创建可保存各种datakey值的类实例:P
var result = method.Invoke(subject, new Object[] {"", conStr, "", 0, 0, null});