不允许使用默认参数说明符

时间:2011-10-19 13:57:29

标签: c# .net .net-3.5 c#-3.0

我有以下代码提供错误

  

不允许使用默认参数说明符

如何解决这个问题?

bool listSubscribe(string apikey,
                   string id, 
                   string email_address,
                   string [] merge_vars,
                   string email_type="html",
                   bool double_optin=false,
                   bool replace_interests=true,
                   bool send_welcome=false);

bool listUnsubscribe(string apikey, 
                     string id, 
                     string email_address, 
                     bool delete_menber=false,
                     bool send_goodbye=true,
                     bool send_notify=true);

4 个答案:

答案 0 :(得分:18)

根据您的错误消息,您无法在v3.5中执行此操作。

解决方法是多个构造函数:

bool listUnsubscribe(string apikey, 
                     string id, 
                     string email_address) {
  return listUnsubscribe(apikey, id, email_address, false, true, true);
}

bool listUnsubscribe(string apikey, 
                     string id, 
                     string email_address, 
                     bool delete_menber,
                     bool send_goodbye,
                     bool send_notify) {
  return whatever;
}

答案 1 :(得分:9)

我刚刚遇到此错误,我的项目也定位到4.0而不是3.5或更低。

我将其切换为3.5,然后再切换回4.0,然后错误就消失了。希望这些步骤对您或其他人有用。

答案 2 :(得分:7)

应用程序/类库未设置为以.NET 4 Framework为目标。在项目的设置页面中进行调整。

enter image description here

答案 3 :(得分:4)

可选参数是C#4的一项功能,在早期版本中不存在。由于您使用的是.NET 3.5,因此无法使用可选参数。

切换到.NET 4.0,或改为使用重载方法。