2017-10-16 12 views
-2

は次のように動作します:C#の - 他の言語と異なるゲッター/セッターは、Javaゲッターとセッターで

public string GetPersonName() { 
    return this.PersonName; 
} 

C#では、それは同じように動作することができますが、事は、私は人々がこの構文に

を使用している参照です
public string PersonName { get; set; } 

誰でも私には、ありがとう!

+0

getter/setterプロパティのためにC#という構文が導入されています。 Javaの場合と同様に、getterおよびsetterごとにメソッドを作成する必要はありません。 – shahsani

+0

しかし、これは私が知っているものからJavaでゲッターとセッターを作る唯一の方法ですよね? @shahsani – Dea

+0

はい、Javaの唯一の方法です。そしてC#では、getters/setterをその方法で読み込み/実装するのが簡単になりました! – shahsani

答えて

3
public string PersonName { get; set; } 

がが簡潔/コードをより読みやすくするために、C#3.0で導入された

private string personName; 

public string PersonName 
{ 
    get { return personName; } 
    set { personName = value; } 
} 

自動実装プロパティに実際に同等であると呼ばれています。

+0

私はセッターにロジックを挿入したいとき、私は2番目の構文を使用する必要がありますか? – Dea

+0

@Dea - はい、そうです。ロジックを追加する必要がある場合は、2番目の構文を使用します。 – Enigmativity

+0

修正してください。あなたの代入または検索ロジックが変更されると、第2の構文を使用する必要があります。 – Shinva

3

Javaは「本当の」プロパティを持っていません。 GetPersonNameはメソッドであり、 "プロパティ"ではありません。

メンバーが型の論理属性を表す場合、プロパティの使用を検討してください。 長時間実行する操作にはプロパティを使用しないでください!

また少ないタイピングのためだけの簡単な方法ですC#のhttps://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx

関連する問題