ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte sadu prostředků pro konkrétní jazykovou verzi.
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);
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
Parametry
- culture
- CultureInfo
Jazyková verze, jejíž prostředky se mají načíst.
- createIfNotExists
- Boolean
true
k načtení sady prostředků, pokud ještě nebyla načtena; v opačném případě . false
- tryParents
- Boolean
true
použít náhradní prostředek k načtení příslušného prostředku, pokud se sada prostředků nenašla; false
k obejití záložního procesu prostředku.
Návraty
Prostředek nastavený pro zadanou jazykovou verzi.
Výjimky
Parametr culture
je null
.
tryParents
je true
, nebyla nalezena žádná použitelná sada prostředků a neexistují žádné výchozí prostředky jazykové verze.
Příklady
Následující příklad volá metodu GetResourceSet pro načtení prostředků specifických pro jazykovou verzi francouzštiny (Francie). Potom vytvoří výčet všech prostředků v sadě prostředků. Obsahuje zdrojový kód spustitelného souboru s názvem ShowNumbers.exe. Obsahuje také následující dva textové soubory, které obsahují názvy čísel. První, NumberResources.txt, obsahuje názvy čísel od jednoho do deseti v anglickém jazyce:
one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten
Druhý, NumberResources.fr-FR.txt, obsahuje názvy čísel od jednoho do čtyř ve francouzském jazyce:
one=un
two=deux
three=trois
four=quatre
Pomocí dávkového souboru můžete vygenerovat soubory prostředků, vložit soubor prostředků anglického jazyka do spustitelného souboru a vytvořit satelitní sestavení pro francouzské jazykové prostředky. Tady je dávkový soubor pro vygenerování spustitelného souboru pomocí kompilátoru jazyka Visual Basic:
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
Pro kompilátor jazyka C# můžete použít následující dávkový soubor:
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: ''
Všimněte si, že pokud změníte hodnotu argumentu createIfNotExists
na false
, volání metody vrátí null
, protože Resource Manager již nenačetl francouzské jazykové prostředky.
Poznámky
Vrácená sada prostředků představuje prostředky lokalizované pro zadanou jazykovou verzi. Pokud prostředky nebyly lokalizovány pro danou jazykovou verzi a tryParents
jsou true
, GetResourceSet použije k načtení příslušného prostředku náhradní pravidla prostředků. Pokud tryParents
je false
a sadu prostředků specifickou pro jazykovou verzi nelze najít, vrátí null
metoda . Další informace o záložním prostředku najdete v části "Proces záložního prostředku" v článku Balení a nasazení prostředků .