【发布时间】:2015-10-28 16:36:14
【问题描述】:
我有一个网络应用程序,我的任务是尝试调试和修复。不是我的代码。 该应用程序的目标是 4.0 框架,据我所知,它也是 C# version 4.0。
网站无法编译,并出现以下错误:Default parameter specifiers are not permitted.
它在两个地方抱怨,这里是其中之一:
private static void setDateCell(string cellXY, object value, string format = "MM/dd/yyyy") {
另一个地方是类似的函数声明,但用于数字并具有不同的默认格式。
据我从here 得知,C# 的 v4.0 是在引入默认参数的时候。我已经仔细检查了网站属性页,以确保它针对的是 Framework 4.0。所以我不确定它为什么抱怨有可选参数。
我试过运行aspnet_regiis -i;不开心。
有什么想法吗?
我们使用的是 VS2010 Express。我们目前正在安装 VS2015 Express... 看看是否是 2010 的问题。
【问题讨论】:
-
这可能是因为 Web 服务或 Web 应用程序不支持默认参数。而且我认为重载也不支持,所以你不能添加两个同名但参数不同的动作。处理它的方法是,如果为
format传递了空白或 null,然后将其重置为"MM/dd/yyyy"
标签: c# asp.net c#-4.0 optional-parameters