2

次のコードを置き換えることができると誰かが私に言った:

private string name;

public string Name
{
    get;
    set;
}

悪影響を受けません。

public string Name;

最初の例のように設定されたプロパティは、それを削除して元の属性をに設定した場合とほとんど同じでpublicあることがわかりますが、必要な属性に対して2番目の方法を使用するのは悪いプログラミング慣行ですか?基本的なゲッターとセッター?

4

6 に答える 6

5

2 番目の方法はプロパティではなく、フィールドです。パブリックに公開される値に常にプロパティを使用する必要がある理由は、フィールドからプロパティへの変換が重大な変更を構成するためです。プロパティを使用すると、自分のコードを参照するコードを壊すことなく、ゲッターまたはセッターの動作を後で変更できます。

覚えておいてください、コード public string Foo { get; set; }

実際には同等です

private string foo;
public string Foo 
{ 
    get { return foo; }
    set { foo = value; }
}
于 2013-04-16T12:04:06.777 に答える
0

プロパティを記述する最も簡単な方法は、自動ゲッターとセッターを使用することです。

ただし、これは質問に記載したものとはまったく異なります。バッキング フィールドを持つ従来のプロパティをフィールドに置き換えました。

自動ゲッター/セッターは次のようになります。

public string Blah { get; set; }

この機能は C# 3 で導入されたと思います。したがって、これらを使用するには、これまたはそれ以上をターゲットにする必要があります。

于 2013-04-16T12:03:56.420 に答える