Je veux définir les informations de culture par défaut pour cette classe ou pour toute l'application.
Par exemple en Turquie 3,2 = en anglais 3,2
donc l'application utilise mon local, mais je veux l'utiliser par défaut
System.Globalization.CultureInfo.InvariantCulture
Comment puis-je le définir comme valeur par défaut pour cette classe spécifique ou pour toute l'application
Pas pour une application entière ou une classe particulière.
CurrentUICulture et CurrentCulture sont paramétrables par thread, comme indiqué ci-dessous: Existe-t-il un moyen de définir la culture pour une application complète? Tous les threads actuels et les nouveaux threads? . Vous ne pouvez pas changer InvariantCulture
du tout.
Exemple de code pour changer de culture pour le fil de discussion actuel:
CultureInfo ci = new CultureInfo(theCultureString);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
Pour la classe, vous pouvez définir/restaurer la culture à l'aide de méthodes critiques, mais il serait sans danger d'utiliser les remplacements appropriés pour la plupart des méthodes de mise en forme prenant la culture comme argument:
(3.3).ToString(new CultureInfo("fr-FR"))
Avec la version 4.0, vous devrez gérer cela vous-même en définissant la culture de chaque thread comme décrit par Alexei. Mais avec la version 4.5, vous pouvez définir une culture pour l’appdomain et c’est le moyen privilégié pour gérer cela. Les apis pertinents sont CultureInfo.DefaultThreadCurrentCulture et CultureInfo.DefaultThreadCurrentUICulture .
Si vous utilisez un fichier de ressources linguistiques pour définir les étiquettes dans votre application, vous devez définir sa valeur:
CultureInfo customCulture = new CultureInfo("en-US");
Languages.Culture = customCulture;