8

C ++では、プライバシーによってメンバーの「ブロック」を作成することができます。

private :
    int var1;
    char var2;
    ...

public :
    int var3;
    char var4;
    ...

C#で同じ例を見つけようとしましたが、見つかりませんでした。Visual Studioでそのようなブロックを書き込もうとしましたが、エラーが発生しました。

C#で有効な同様の構文はありますか?

4

6 に答える 6

8

簡単な答えはノーです、ありません。 フィールド/メソッドの前にアクセス指定子を常に記述する必要があります。

public int var1;
public char var2;

privateこれがデフォルトの指定子であることに注意してください。これは設計の問題ですが、私は常に修飾子を明示的に指定します。(そして、それが一貫したインデントのためだけであっても!)

msdnでアクセシビリティレベル(C#)の詳細をお読みください。

于 2013-03-18T15:58:05.867 に答える
3

いいえ、各メンバー(プロパティ、フィールド、またはメソッド)の前にアクセス修飾子を記述する必要があります。

于 2013-03-18T15:58:07.003 に答える
2

簡単な答え:いいえ。各行の前にアクセス指定子の1つを付ける必要があります。そうでない場合は、デフォルトがあります(メンバーの場合はプライベート、タイプの場合は内部)。

于 2013-03-18T15:58:49.497 に答える
0

いいえ、できませんが、クラスメンバーを論理グループにグループ化する場合は、リージョンを使用できます。

#region Private properties

private int var1;

#endregion
于 2013-03-18T15:59:33.317 に答える
0

それ不可能です。ただし、他のヒントもあります。

読み取りと書き込みで異なるアクセスを実現したい場合は、次のことを試してください。

public int Var1 { get; private set; }

コードを短縮することが目的の場合、これにより少なくとも一部の文字が節約されます。

private int _var1, _var2, _var3;
private char _char1, _char2;
于 2013-03-18T16:01:46.677 に答える
0

現在、答えはノーです。次のようなアクセス修飾子を追加する目的

public string name;
public string address;

コードを読みやすくすることでした。

于 2013-03-18T16:05:23.090 に答える