Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调用方法签名时无法正确识别它(方法xxx的重载不包含2个参数)_C#_Extension Methods - Fatal编程技术网

C# 调用方法签名时无法正确识别它(方法xxx的重载不包含2个参数)

C# 调用方法签名时无法正确识别它(方法xxx的重载不包含2个参数),c#,extension-methods,C#,Extension Methods,我正在开发一些用于单元测试存储过程、脚本等的简单实用程序。我有这个扩展方法签名: public static List<List<dynamic>> RunScript(this SqlConnection conn, string command, params object[] args) 其中,org是一个int 错误2方法“RunScript”的无重载包含2个参数C:\GIT\MainLine\tests\BE2.Database.tests\GroupedAu

我正在开发一些用于单元测试存储过程、脚本等的简单实用程序。我有这个扩展方法签名:

public static List<List<dynamic>> RunScript(this SqlConnection conn, string command, params object[] args)
其中,
org
是一个
int

错误2方法“RunScript”的无重载包含2个参数C:\GIT\MainLine\tests\BE2.Database.tests\GroupedAuthorizations\GroupedAuthorizationsUnitsTests.cs 171 13 BE2.Database.tests

在代码中导航时,F-12确实让我想到了这种方法。此外,shift F-12产生的点击数与全局文本搜索相同

我创建了一个新的扩展方法
RunScriptTWO
,现在我尝试调用它时出现编译错误-编译器就是找不到它。然后,我通过在名称旁边键入XXX来保存我原来的RunScript方法。点击F-12进入定义现在中断,但项目编译,我的所有测试仍然通过

我已经清理了我的解决方案并重新构建了无数次。看起来RunScript方法的某种内部表示已经过时,我所有刷新它的尝试都失败了


我不能用一个更简单的例子来重现这个错误。(即,对象上的一个简单扩展方法采用字符串参数,params数组工作正常)。

根据注释链,这听起来像是一个或多个项目没有生成。您可以在build>Configuration Manager下验证哪些项目设置为build。

代码对我来说编译得很好。您需要提供一个完整的示例来复制问题。@Jamiec它不是编译的,所以他无法调试它。抱歉,这有点愚蠢,我的意思是当您从单元测试导航到代码时,它是否找到了您期望的方法。顺便说一句,我相信您已经听说了非参数化查询的危险。“那个扩展方法似乎有这种危险。”@Grantwiney如果是的话,它会使用不同的格式占位符。
conn.RunScript("DELETE FROM BE_Resources WHERE CreatedByContactId = {0}", org);