2010-02-09 14 views
1

Je suppose que le code suivant est correct,culture fallback

CultureInfo culture = CultureInfo.GetCulture ("en-US"); Assert.IsTrue (culture.GetConsoleFallbackUICulture(). Nom == "en");

mais ce n'est pas le cas, culture.GetConsoleFallbackUICulture(). Le nom est toujours "en-US", je veux savoir quelle est l'API pour obtenir la culture de repli.

Merci Jeff

+1

Je suppose que le code suivant est .Net? Veuillez marquer correctement. –

Répondre

3

Ceci est correct, en États-Unis n'a pas besoin de secours, c'est pourquoi il retourne en États-Unis.

Seules les cultures dans cette liste sont affectés: http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.getconsolefallbackuiculture.aspx

EDIT: si vous voulez faire ce qui est dans votre commentaire, utilisez la propriété CultureInfo.Parent.

+0

Merci, mais je veux imiter le comportement de repli de culture de .net, je veux obtenir la cutlure de parenté de la coupe "en-US", je suppose que c'est "en", et le parent de "en" est Cutlure.InvariantCulture, Comment puis-je y parvenir? – Jeff

+0

S'il vous plaît modifier votre question initiale ... J'ai mis à jour ma réponse. –

1
CultureInfo culture = CultureInfo.GetCulture("en-US"); 
Assert.IsFalse(culture.Parent.IsNeutralCulture); // en-US is NOT Neutral 
Assert.IsTrue(culture.Parent.Name == "en"); // Our parent's culture is the neutral english culture 
Assert.IsTrue(culture.Parent.IsNeutralCulture); // en is Neutral 
Assert.IsTrue(culture.Parent.Parent.Name == ""); // Our grandparent's culture is the invariant culture