C#でのGetter / Setter

普通にJavaの感覚で(public get*** / set*** 〜)書いていたのだけど違ってたようだ…(汗)
XMLシリアライズしてて(別項参照)気づいた.

というわけでC#はこんな感じ


private string message; //表示メッセージ

public string msg
{
get { return message; } //表示メッセージを取得
set { message = value; } //表示メッセージを設定
}

というわけで,メソッドとして処理せずにあくまでもプロパティとして扱うようだ.
いちいち取得と設定を分けて書かないあたり,どちらかというとVBに近い感じかな.
ただJava屋さんからしてみると,アクセス用プロパティの変数名と,実際にカプセル化(private)してるフィールド名との両方の変数名を区別して考えないといけないのがちと面倒.Javaならget〜,set〜をつけるだけで済んでたからねぇ〜.
あと,set時の仮引数が「value」という予約された変数になっているあたりもちと慣れない.VBもそうだけど.