1

パブリックまたはプライベートのメンバー/関数がクラスで最初に来るかどうかについて、標準または受け入れられているコード スタイルはありますか?

これに関してGoogleでたくさん見つかると思っていましたが、何も見つかりませんでした。

4

6 に答える 6

1

人々が言っ​​ているように、順序は一般的に重要ではありません。ただし、重要な例外が 1 つあります。それは、静的フィールドの初期化です。他の静的フィールドの値に基づいて静的フィールドを初期化できます。すべてが静的コンストラクターにコンパイルされますが、コードに記述されている順序になります。

例えば:

class Program {
    private static int j = 4;
    private static int i = Program.j;

    static void Main(string[] args) {
        Console.WriteLine(Program.i); // 4
    }
}

しかし:

class Program {
    private static int i = Program.j;
    private static int j = 4;

    static void Main(string[] args) {
        Console.WriteLine(Program.i); // 0
    }
}

したがって、メンバーを再シャッフルする場合は、このケースを念頭に置いてください。完全に安全にするために、次のように初期化を静的コンストラクターに入れることができます。

class Program {
    private static int i;
    private static int j;

    static Program() {
        Program.j = 4;
        Program.i = Program.j;
    }
}
于 2013-07-09T17:21:18.377 に答える
0

Microsoft C# コーディング規則 (C# プログラミング ガイド)は次のとおりです。

、クラス内の関数またはメンバーの順序付けpublicについては言及していません。protectedprivate

私は過去の経験でFxCop、私的な機能よりも公共の機能を優先することを「示唆」していたことを知っていますが、これも必ずしも標準ではありません。

于 2013-07-09T17:16:49.993 に答える