Eine vernünftige Gruppierung ist sicherlich die Verwendung separater Quelldateien.
Für Klassen, die mehr als ein paar Bildschirme voll sind, sollten Sie wahrscheinlich eine separate Quelldatei für eine solche Klasse haben. Andernfalls kann es schwierig sein, die verschiedenen Klassen und andere Elemente in einer Quelldatei zu finden.
Bei einer Sammlung von Enums, die semantisch zusammenhängen und die klein genug sind, um auf einen Bildschirm zu passen, ist es oft sinnvoll, sie in eine einzige Datei zu packen - aber dann sollten Sie die Datei nach einem Zweck benennen, den alle diese Enums gemeinsam haben. Wenn Sie Schwierigkeiten haben, einen aussagekräftigen Namen zu finden, der ihre Gemeinsamkeiten beschreibt, kann dies ein Hinweis darauf sein, dass Sie sie wieder aufteilen sollten. (Natürlich gilt dieser Absatz auch für Klassen und Structs, aber nur für sehr kleine).
Beachten Sie, dass sogar verschachtelt Klassen/Strukturen/Enums können in einer separaten Quelldatei in C# platziert werden - deklarieren Sie einfach die äußere Klasse als teilweise .
Wenn Sie eine ganze Klassenhierarchie von verwandten abgeleiteten Klassen (Unterklassen) können Sie sogar für jede dieser Hierarchien ein Unterverzeichnis anlegen. Zum Beispiel, in einem Unterverzeichnis namens Collections
haben Sie möglicherweise eine Datei namens CollectionBase.cs
für die abstrakte Basisklasse und eine separate Quelldatei für jede abgeleitete Klasse.