无法在 C# 中使用 dotnet 核心创建可选参数
Unable to create optional arguments with dotnet core in C#
我正在尝试在 ubuntu 上的 dotnet 核心库 运行ning 上指定一个可选参数。 (版本 - 1.0.0-preview2-003121)
我这样添加签名:
public int ExecuteNonQuery(string cmd, int sqlCommandTimeout = 30){
}
我可以编译 运行 项目没问题,但我必须用两个参数调用函数。
如果我尝试仅使用 cmd 调用该函数并且出现编译错误:
dataLink.ExecuteNonQuery(qry)
错误:
错误 CS7036:没有给定的参数对应于 'X.ExecuteNonQuery(string, int)'
的所需形式参数 'commandTimeOut'
是 dotnet core 不支持可选参数还是我做错了?谢谢
更新:
可选参数受支持且有效 - 问题是因为我通过接口调用 class。感谢帮助
我正在使用 .Net Core (Windows),我绝对不会遇到任何可选参数问题。请记住,可选参数是语言的特性,而不是框架的特性。
您是否在运行时遇到该错误?
它并不理想,但如果您只有这两个参数并且只有最后一个参数是可选的,您可能会考虑创建一个重载?
我正在尝试在 ubuntu 上的 dotnet 核心库 运行ning 上指定一个可选参数。 (版本 - 1.0.0-preview2-003121)
我这样添加签名:
public int ExecuteNonQuery(string cmd, int sqlCommandTimeout = 30){
}
我可以编译 运行 项目没问题,但我必须用两个参数调用函数。
如果我尝试仅使用 cmd 调用该函数并且出现编译错误:
dataLink.ExecuteNonQuery(qry)
错误:
错误 CS7036:没有给定的参数对应于 'X.ExecuteNonQuery(string, int)'
的所需形式参数 'commandTimeOut'是 dotnet core 不支持可选参数还是我做错了?谢谢
更新: 可选参数受支持且有效 - 问题是因为我通过接口调用 class。感谢帮助
我正在使用 .Net Core (Windows),我绝对不会遇到任何可选参数问题。请记住,可选参数是语言的特性,而不是框架的特性。
您是否在运行时遇到该错误?
它并不理想,但如果您只有这两个参数并且只有最后一个参数是可选的,您可能会考虑创建一个重载?