Frage von KnorxyThieus, 47

C#: Warum sind so viele typenbezogene Methoden in statischen Klassen untergebracht?

Hallo,

Zum Beispiel IsLetter(): Diese Funktion ist nur statisch unter System.Char verfügbar. Wieso werden von der mscorlib nicht auch gleich die "unstatischen" Funktionen gestellt, sodass ich anstatt von

System.Char.IsLetter('a')

einfach

'a'.IsLetter()

schreiben kann?

Ich könnte natürlich alle (für mich relevanten) Funktionen per Hand als Erweiterungsmethoden übernehmen, aber ich frage mich doch, ob Microsoft das nicht schon getan hätte, wenn es Sinn gemacht hätte – und warum es folglich keinen macht.

Vielen Dank schon mal für alle Erklärungen! :-)

Mit freundlichen Grüßen,
KnorxThieus (m)

Antwort
von ThomasAral, 47

mscorlib kam denke ich erst später hinzu, da war das schon längst bei System.Char --- man hatte keine Lust das zu verdoppeln. Das kannst ja dann selbst.

Kommentar von KnorxyThieus ,

Hallo & Danke für deine Antwort!

Ich glaube zu verstehen: Meinst du, dass all diese Funktionalitäten dem .NET-Framework, welches schon früher existierte, entstammen und bloß nicht in C#-kompatibler Form notiert wurden?

PS: Und wie lautet jetzt dein Fazit bezüglich meiner Idee, die als Erweiterungsmethoden alle zu übernehmen? Gut oder nicht?

Keine passende Antwort gefunden?

Fragen Sie die Community