Warum gibt es kein Kultur-Enum?

8

Grüße,

Ich habe mich gefragt, warum es in C # keine voreingestellte Enum für Kulturen gibt? Da sich die Kulturen nie ändern und immer wie "nl-NL, en-GB, en-US" sind, warum nicht ein enum machen, damit die Dinge einfach ein bisschen leichter werden?

[Bearbeiten]

Wie gesagt, ändern sich die Kulturen ... aber nicht alle. Warum nicht einen enum / class type erstellen, der alle Kulturen enthält und die Möglichkeit gibt, sie hinzuzufügen / zu ändern?

    
Theun Arbeider 20.04.2011, 07:26
quelle

4 Antworten

15
  

"Da sich die Kulturen nie verändern"

Nicht wahr? Dieser Artikel (Microsoft .NET Framework 4: Was ist neu? in der Globalisierung) stimmt nicht zu. Allein in den letzten 5 Jahren hat sich in der serbischen Region viel verändert, was zu neuen Kulturen geführt hat.

  

In der realen Welt ändern sich die Informationen zur Globalisierung aufgrund kultureller Entwicklungen in den lokalen Märkten aufgrund neuer Standards, die die kultursensiblen Informationen häufig aktualisieren, oder weil Microsoft genauere Informationen über verschiedene Märkte findet oder sich in mehr Märkte ausbreitet .

     

Microsoft .NET Framework 4 unterstützt mindestens 354 Kulturen im Vergleich zu mindestens 203 Kulturen in der vorherigen Version. Viele dieser Kulturen sind Neutrale, die hinzugefügt wurden, um die Stammkette zu der Wurzel-neutralen Kultur zu vervollständigen.

     

Zum Beispiel wurden den bereits existierenden Kulturen Inuktitut (Syllabics, Kanada) und Inuktitut (Latein, Kanada) drei Inuktitut-Neutrale hinzugefügt.

Ich denke auch, dass ein Enum selbst keinen Sinn ergibt. Eine CultureInfo ist viel mehr als nur ein Name, und eine Suche bietet mehr Flexibilität und Unabhängigkeit von politischen Veränderungen, von denen es viel mehr gibt, als wir normalerweise realisieren.

    
Michael Stum 20.04.2011, 07:30
quelle
7

Aufzählungen werden zur Kompilierzeit festgelegt.

Aber die Menge der Kulturen variiert zur Laufzeit:

  • Verschiedene Betriebssystemversionen unterstützen unterschiedliche Kulturen
  • OS-Updates (Service Packs, Language Interface Packs, ...) können Kulturen hinzufügen
  • Spätere .NET-Versionen unterstützen mehr Kulturen (erstellen Sie Assembly für eine Version und verwenden Sie sie mit einer anderen).
Richard 20.04.2011 07:30
quelle
3

Sie ändern sich, wenn auch langsam. In jedem Fall sind sie älter als C #, so dass sie an dieser Stelle zu einem Enum werden würden. Zum Beispiel, POSIX-Systemaufrufe zu einem Enum zu machen, was ich in Postforth gemacht habe, aber ich wusste, dass es falsch war, als ich es tat.

    
jcomeau_ictx 20.04.2011 07:29
quelle
2

Zusätzlich zu diesen Änderungen, wie von anderen vorgeschlagen, können Sie Ihre eigenen Kulturen erstellen und sie würden auffallend in der Enum sein, da Sie keine Gegenstände hinzufügen können.

    
Talljoe 20.04.2011 07:32
quelle

Tags und Links