当我构建项目时,VC#表示不允许使用Default参数说明符。它引导我看到这段代码:
public class TwitterResponse
{
private readonly RestResponseBase _response;
private readonly Exception _exception;
internal TwitterResponse(RestResponseBase response, Exception exception = null)
{
_exception = exception;
_response = response;
}
可能是我的错误?
答案 0 :(得分:5)
错误是:
Exception exception = null
您可以转到C#4.0或更高版本,此代码将编译!
这个问题可以帮到你:
C# 3.5 Optional and DefaultValue for parameters
或者您可以在C#3.0或更早版本中进行两次覆盖以解决此问题:
public class TwitterResponse
{
private readonly RestResponseBase _response;
private readonly Exception _exception;
internal TwitterResponse(RestResponseBase response): this(response, null)
{
}
internal TwitterResponse(RestResponseBase response, Exception exception)
{
_exception = exception;
_response = response;
}
}
答案 1 :(得分:1)
如果您使用的是.NET 3.5,则可能会发生这种情况。可选参数在C#4.0中引入。
internal TwitterResponse(RestResponseBase response, Exception exception = null)
{
_exception = exception;
_response = response;
}
应该是:
internal TwitterResponse(RestResponseBase response, Exception exception)
{
_exception = exception;
_response = response;
}
请注意exception
变量没有默认值。