Ich habe vor kurzem angefangen zu lernen C# und ich bin über etwas verwirrt. Die documentation für statische Klassen sagt mir, dass sie nur statische Mitglieder enthalten können. Dennoch kann ich nichtstatische verschachtelte Klassen und Strukturen innerhalb meiner statischen Klasse definieren.Warum können statische C# -Klassen nicht statische Klassen/Strukturen enthalten?
Ich vermute, dass Klasse/Struct-Definitionen zählen nicht als Mitglieder, aber warum ist das erlaubt? Wenn eine verschachtelte Klasse einer statischen Klasse instanziiert werden kann, widerspricht das nicht dem Punkt einer statischen Klasse? Missverstehe ich hier etwas Offensichtliches?
Bad Wortlaut auf meinen Teil, ich meinte geschachtelt Klasse zu sagen. –
Ich würde sagen, dass Sie das Offensichtliche vermissen ... Ein 'statischer' Hauptzweck ist es, die Instanziierung dieser Klasse zu verhindern. – Phil1970
Ich betrachte eine verschachtelte Klasse als ein * statisches Mitglied * ihrer einschließenden Klasse, unabhängig davon, ob es eine * statische Klasse * ist oder nicht. (Dies ist anders als bei Java, wo verschachtelte Klassen * nicht * immer statische Mitglieder der einschließenden Klasse sind und der Ausdruck "statische Klasse" eine verschachtelte Klasse bedeutet, die * ein statisches Mitglied ist.) –