4

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' の既定のパラメーター値は、コンパイル時の定数である必要があります。

このエラーが発生する理由と修正方法を教えてください。

4

1 に答える 1

12

デフォルトを null に設定してから、メソッドでデフォルトをリセットできます。

private Boolean write(long position, Article article=null)
{
    article = article ?? this;
}

(また、デフォルト以外のすべてのパラメータは、デフォルトのパラメータよりも前に指定する必要があることに注意してください。)

于 2013-05-03T04:57:21.243 に答える