我想使用this
作为类方法的默认值,如下代码:
public class Article
{
public int Id;//PK
public String Author;//can be empty=anonymous
public int? ToPublishDate;
public String Summery;
public String Content;
public int RegDate;
public Boolean Publish;
private Boolean write(Article article=this,long position)
{
return true;
}
}
但在this
上给我这个错误:
'article'的默认参数值必须是编译时常量。
为什么会出现此错误,我该如何解决?
答案 0 :(得分:12)
您可以将默认值设置为null,然后在方法中重置其默认值:
private Boolean write(long position, Article article=null)
{
article = article ?? this;
}
(另请注意,所有非默认参数必须在任何默认参数之前。)