2011-10-27 11 views
-2

1)これらの2行の違いは何ですか?あなたはJavaのようなC#のゲッターに使用しないときc#初心者のための基本的な「ベストプラクティス」の質問はほとんどありません

public string ShortName; 
    //and 
public string ShortName { get; set; } 

2)とやるときは、C#のように使用します。私は彼らと同じようにアクセスすることができます。 私はあなたのプライベートメンバーに名前を付けるための一般的な規則は何ですか?)C#はitselfeがGetType

//Like Java: 
public string GetShortName(){ 
    return _shortName 
} 
//Like c#: 
public string ShortName { get { return _shortName; } set;} 

3のように、Javaのスタイルを使用することを見ましたか

プライベート文字列_shortName; //または プライベート文字列shortName;


4)定数に名前を付ける一般的な規則は何ですか?

public const string SHORT_NAME; 
//or 
public const string ShortName; 

5)はどのようなケースでは、1 .csファイルのファイルに複数のクラスを入れて選ぶのですか?


6)フォルダ構造と異なる名前空間を指定していますか?

おかげ

+0

これは他の人が初心者のために質問を残すための質問ですか、質問した質問に対するフィードバックを求めていますか? – bobwah

+1

検索を試しましたか?それは素晴らしい機能です! – Reniuz

+0

これは、いくつかの場所でかなりうまく答えています。 http://msdn.microsoft.com/en-us/library/czefa0ke(vs.71)。aspx – Paddy

答えて

0

1)最初のフィールドであり、第二は、(自動実装)特性です。プロパティを使用してフィールドを表示するのではなく、値を公開するのがベストプラクティスです。

2)プロパティはgetterとsetterを実装しているので、javastyle getterメソッドとsetterメソッドを記述する必要はありません。

3)および4)の両方が使用されます。

5)クラスを再度検索する場合は、ファイルごとに1つのクラスに固執するのが最善です。

6)通常はありません。

+0

あなたは最後の4に答えるのを忘れました:) – Tim

+0

@Tim - 私はまだそれに取り組んでいました;-) –

1

1.)と2)プロパティに関するクールなことは、アクセサで素晴らしいことができるということです。例えば。

private string name; 
public String Name{ 
    get{ 
     if(this.name == String.Empty) 
      return "No name given"; 
     else 
      return name; 
    } 
} 

メンバが値型ではなく、あるクラスである場合、これはもっと面白くなります。だから、プロパティはあなたに関数のコントロールを与えますが、publicメンバーのように使うことができます。また、設定されたアクセサを内部、保護、またはprivatにすることもできます。 012)。4.)、6.)多くの命名規則があります。 for Microsoft's

5)を参照してください。これは長期的にあなたを困らせるでしょう。 1つの例外は、ネストされた(privat)クラスです。

関連する問題