C# は初めてで、カプセル化は "データを保護する" 方法に過ぎないことを理解しています。しかし、私はまだ不明です。get および set アクセサーのポイントは、次のように、外部関数が何かを取得および設定できるようにする前に、これらのメソッド内にテストを追加して、パラメーターが特定の基準を満たしているかどうかを確認することであると考えました。
private string myName;
public string MyName;// this is a property, speical to c#, which sets the backing field.
private string myName = "mary";// the backing field.
public string MyName // this is a property, which sets/gets the backing field.
{
get
{
return myName;
}
set
{
if (value != "Silly Woman"){
myName = value;
}
}
}
しかし、私は次のようなコードをc#で見てきました:
public string MyName { get; set; }
何も入れずに get と set を実行するのはなぜですか? それは、プライベート バッキング フィールドを public と宣言するのと同じではありませんか? 外部から取得して設定できるのであれば、直接それを実行しないのはなぜですか?