无法在C#中使用dotnet核心创建可选参数
问题描述:
我试图在ubuntu上运行的dotnet核心库中指定可选参数。 (版本 - 1.0.0-preview2-003121)无法在C#中使用dotnet核心创建可选参数
我添加签名像这样:
public int ExecuteNonQuery(string cmd, int sqlCommandTimeout = 30){
}
我可以编译并运行该项目没有问题,但我不得不打电话与这两个参数的函数。
如果我打电话只CMD的功能,我得到一个编译错误:
dataLink.ExecuteNonQuery(qry)
错误:
错误CS7036:没有给定参数对应到所需的形参“ 'X.ExecuteNonQuery'(string,int)'commandTimeOut''
dotnet核心不支持可选参数还是我做错了?谢谢
更新: 可选参数支持和工作 - 问题是因为我通过接口调用类。感谢您的帮助
答
我使用.Net核心(Windows),我绝对不会遇到任何可选参数的问题。请记住,可选参数是该语言的一个特征,而不是框架的特征。
您是否在运行时发现错误?
它不理想,但如果你只有这两个参数,只有最后一个是可选的,你可能会考虑只是创建一个超载?
+0
- arrg - 对不起愚蠢的问题。我通过一个界面给班级打电话 - 直到@Dirk Vollmar指出签名是不同的。 – onemorecupofcoffee
我认为我们需要更多能够找到解决方案。你能发布更多相关的代码吗? –
@BviLLe_Kid对我来说看起来就像一个完整的例子 – ardila
@ardila好,如果用户遇到他的代码的问题,并从我可以看到,我没有看到任何错误..所以问题不在2行OP提供的代码 –