【发布时间】:2013-04-27 10:31:45
【问题描述】:
我想使用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”的默认参数值必须是编译时常量。
为什么会出现此错误,我该如何解决?
【问题讨论】:
-
如果您有一个写入任意实例的方法,并且它不需要涉及被调用的实例,您可能应该将其设为静态!也许您的情况有所不同,但这往往是惯例。换句话说:如果
someArticle.write(otherArticle, 1)暗示它实际上将以某种方式涉及someArticle实例的执行。如果someArticle除了作为您调用该方法的实例之外从未参与,那么它可能应该只是Article.write(otherArticle, 1)。
标签: c#