C#运行时编译无法使用默认值运行方法--参数计数不匹配

C#运行时编译无法使用默认值运行方法--参数计数不匹配,c#,reflection,C#,Reflection,嗨,我已经完成了运行时编译。 net 4的目标提供程序 var options = new Dictionary<string, string>(); options.Add("CompilerVersion", "v4.0"); var codeProvider = new CSharpCodeProvider(options); var options=newdictionary(); 添加(“CompilerVersion”、“v4.0”); var codeProvider

嗨,我已经完成了运行时编译。 net 4的目标提供程序

var options = new Dictionary<string, string>();
options.Add("CompilerVersion", "v4.0");
var codeProvider = new CSharpCodeProvider(options);
var options=newdictionary();
添加(“CompilerVersion”、“v4.0”);
var codeProvider=新的CSharpCodeProvider(选项);
但是,当尝试调用具有默认值的参数的方法时,如果不提供这些参数,则会出现参数不匹配异常
有什么想法吗?

如示例中所述,您可以将
Type.Missing
作为默认参数的值传递。唯一的限制是参数的顺序。

如示例中所述,您可以将
Type.Missing
作为默认参数的值传递。唯一的限制是参数的顺序。

很有趣,但我不知道缺少多少类型。。。。我正在做一些脚本运行程序,我既不知道方法名也不知道参数数,因此无法添加缺少的类型,因为我不知道何时添加它。但我不明白为什么这不起作用,我希望它能像.NET4一样工作,而不指定类型。缺少?有趣,但我不知道缺少多少类型。。。。我正在做一些脚本运行程序,我既不知道方法名也不知道参数数,因此无法添加缺少的类型,因为我不知道何时添加它。但是我不明白为什么这不起作用,我希望它能像.NET4一样工作,而不指定类型.missing?