2

簡単なルック アンド フィールの質問です...完全なプロパティのプライベート フィールドを、宣言した場所で初期化することは許容されますか?それとも、平均的な開発者は、私の名前をコンストラクタに入れなかったことを呪うでしょうか?

private int _linesDataGridHeight = 300;
public int LinesDataGridHeight
{
    get { return _linesDataGridHeight; }
    set { SetProperty(ref _linesDataGridHeight, value); }
}

private bool _isHideLinesCheckboxChecked = false;
public bool IsHideLinesCheckboxChecked
{
    get { return _isHideLinesCheckboxChecked; }
    set
    {
        this.LinesDataGridHeight = value ? 0 : 300;
        SetProperty(ref _isHideLinesCheckboxChecked, value);
    }
}
4

1 に答える 1

2

C# ではあまり問題にならないので、ほとんどの場合、これは個人的な好みに帰着すると思います。初期化されたすべての値を 1 か所で確認できるため、コンストラクターですべてを初期化することを好みます。また、これについて合意された標準について、開発チームによって設定されたルールがある場合もあります。

これは、別の SO の質問と同様の投稿のようです。ここを参照してください:コンストラクターまたは宣言時にクラス フィールドを初期化しますか?

于 2013-08-22T15:39:24.513 に答える