Avatar ·

Reihenfolge der Elemente in einer C#-Klasse: Felder, Properties, Konstruktoren, Methoden — gibt es einen Standard?

Hallo zusammen! Ich bin ein Anfänger in C# und habe eine Frage, die mich beschäftigt. Wenn ich Klassen schreibe, füge ich Felder, dann Properties, dann Konstruktoren und Methoden einfach in der Reihenfolge hinzu, in der sie mir in den Sinn kommen. Aber kürzlich hat ein Senior-Entwickler im Code-Review angemerkt: „Falsche Reihenfolge der Elemente in der Klasse.“

Ich habe im Internet recherchiert und viele verschiedene Meinungen gefunden. Manche schreiben: zuerst alle private Felder, dann public Properties, dann Konstruktoren, dann Methoden. Andere sagen: zuerst public Member, dann protected, dann private. Wieder andere sortieren alphabetisch.

Hier ist ein Beispiel meiner Klasse, die kritisiert wurde:

public class Employee
{
    public string LastName { get; set; }
    private int _age;
    public Employee(string name) { Name = name; }
    public string Name { get; set; }
    public void PrintInfo() { Console.WriteLine($"{Name}, {_age}"); }
    private int _id;
    public int Age { get { return _age; } set { _age = value; } }
}