ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar resursuppsättningen för en viss kultur.
public:
virtual System::Resources::ResourceSet ^ GetResourceSet(System::Globalization::CultureInfo ^ culture, bool createIfNotExists, bool tryParents);
public virtual System.Resources.ResourceSet GetResourceSet(System.Globalization.CultureInfo culture, bool createIfNotExists, bool tryParents);
abstract member GetResourceSet : System.Globalization.CultureInfo * bool * bool -> System.Resources.ResourceSet
override this.GetResourceSet : System.Globalization.CultureInfo * bool * bool -> System.Resources.ResourceSet
Public Overridable Function GetResourceSet (culture As CultureInfo, createIfNotExists As Boolean, tryParents As Boolean) As ResourceSet
Parametrar
- culture
- CultureInfo
Den kultur vars resurser ska hämtas.
- createIfNotExists
- Boolean
trueför att läsa in resursuppsättningen, om den inte har lästs in ännu. annars . false
- tryParents
- Boolean
true för att använda resursåterställning för att läsa in en lämplig resurs om det inte går att hitta resursuppsättningen. false för att kringgå resursåterställningsprocessen.
Returer
Resursuppsättningen för den angivna kulturen.
Undantag
Parametern culture är null.
tryParents är true, har ingen användbar uppsättning resurser hittats och det finns inga standardkulturresurser.
Exempel
I följande exempel anropas GetResourceSet metoden för att hämta kulturspecifika resurser för den franska kulturen (Frankrike). Sedan räknas alla resurser i resursuppsättningen upp. Den innehåller källkoden för en körbar fil med namnet ShowNumbers.exe. Exemplet innehåller två textfiler som innehåller namnen på talen. Den första, NumberResources.txt, innehåller namnen på tal från ett till tio på engelska:
one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten
Den andra, NumberResources.fr-FR.txt, innehåller namnen på tal från ett till fyra på det franska språket:
one=un
two=deux
three=trois
four=quatre
Du kan använda en batchfil för att generera resursfilerna, bädda in den engelskspråkiga resursfilen i den körbara filen och skapa en satellitsammansättning för de franska språkresurserna. Här är batchfilen för att generera en körbar fil med hjälp av Visual Basic kompilatorn:
resgen NumberResources.txt
vbc shownumbers.vb /resource:NumberResources.resources
md fr-FR
resgen NumberResources.fr-FR.txt
al /out:fr-FR\ShowNumbers.resources.dll /culture:fr-FR /embed:NumberResources.fr-FR.resources
För C#-kompilatorn kan du använda följande batchfil:
resgen NumberResources.txt
csc shownumbers.cs /resource:NumberResources.resources
md fr-FR
resgen NumberResources.fr-FR.txt
al /out:fr-FR\ShowNumbers.resources.dll /culture:fr-FR /embed:NumberResources.fr-FR.resources
using System;
using System.Globalization;
using System.Resources;
public class Example
{
public static void Main()
{
String[] numbers = { "one", "two", "three", "four", "five", "six",
"seven", "eight", "nine", "ten" };
var rm = new ResourceManager(typeof(NumberResources));
ResourceSet rs = rm.GetResourceSet(CultureInfo.CreateSpecificCulture("fr-FR"),
true, false);
if (rs == null) {
Console.WriteLine("No resource set.");
return;
}
foreach (var number in numbers)
Console.WriteLine("{0,-10} '{1}'", number + ":", rs.GetString(number));
}
}
internal class NumberResources {}
// The example displays the following output:
// one: 'un'
// two: 'deux'
// three: 'trois'
// four: 'quatre'
// five: ''
// six: ''
// seven: ''
// eight: ''
// nine: ''
// ten: ''
Imports System.Globalization
Imports System.Resources
Module Example
Public Sub Main()
Dim numbers() As String = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }
Dim rm As New ResourceManager(GetType(NumberResources))
Dim rs As ResourceSet = rm.GetResourceSet(CultureInfo.CreateSpecificCulture("fr-FR"), True, False)
If rs Is Nothing Then Console.WriteLine("No resource set.") : Exit Sub
For Each number In numbers
Console.WriteLine("{0,-10} '{1}'", number + ":", rs.GetString(number))
Next
End Sub
End Module
Public Class NumberResources
End Class
' The example displays the following output:
' one: 'un'
' two: 'deux'
' three: 'trois'
' four: 'quatre'
' five: ''
' six: ''
' seven: ''
' eight: ''
' nine: ''
' ten: ''
Om du ändrar värdet för argumentet createIfNotExists till false returnerar metodanropet null eftersom Resource Manager ännu inte har läst in de franska språkresurserna.
Kommentarer
Resursuppsättningen som returneras representerar de resurser som är lokaliserade för den angivna kulturen. Om resurserna inte har lokaliserats för den kulturen och tryParents är trueanvänder GetResourceSet resursåterställningsregler för att läsa in en lämplig resurs. Om tryParents är false och en kulturspecifik resursuppsättning inte kan hittas returnerar nullmetoden . Mer information om återställning av resurser finns i avsnittet "Återställningsprocessen för resurser" i artikeln Paketering och distribution av resurser .