ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de resourceset voor een bepaalde cultuur op.
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
Parameters
- culture
- CultureInfo
De cultuur waarvan de resources moeten worden opgehaald.
- createIfNotExists
- Boolean
true om de resourceset te laden, als deze nog niet is geladen; anders, false.
- tryParents
- Boolean
true om terugval van resources te gebruiken om een geschikte resource te laden als de resourceset niet kan worden gevonden; false om het terugvalproces van de resource te omzeilen.
Retouren
De resourceset voor de opgegeven cultuur.
Uitzonderingen
De culture parameter is null.
tryParents is, er is truegeen bruikbare set resources gevonden en er zijn geen standaardcultuurresources.
Voorbeelden
In het volgende voorbeeld wordt de methode aangeroepen voor het GetResourceSet ophalen van cultuurspecifieke resources voor de Franse (Frankrijk) cultuur. Vervolgens worden alle resources in de resourceset opgesomd. Deze bevat de broncode voor een uitvoerbaar bestand met de naam ShowNumbers.exe. Het voorbeeld bevat twee tekstbestanden die de namen van getallen bevatten. De eerste, NumberResources.txt, bevat de namen van getallen van een tot tien in de Engelse taal:
one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten
De tweede, NumberResources.fr-FR.txt, bevat de namen van getallen van een tot vier in de Franse taal:
one=un
two=deux
three=trois
four=quatre
U kunt een batchbestand gebruiken om de resourcebestanden te genereren, het Bestand met de Engelse taal in te sluiten in het uitvoerbare bestand en een satellietassembly te maken voor de Franse taalresources. Dit is het batchbestand voor het genereren van een uitvoerbaar bestand met behulp van de Visual Basic compiler:
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
Voor de C#-compiler kunt u het volgende batchbestand gebruiken:
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: ''
Als u de waarde van het argument createIfNotExists wijzigt in false, retourneert de methodeaanroep null, omdat Resource Manager de Franse taalbronnen nog niet heeft geladen.
Opmerkingen
De geretourneerde resourceset vertegenwoordigt de resources die zijn gelokaliseerd voor de opgegeven cultuur. Als de resources niet zijn gelokaliseerd voor die cultuur en tryParents is true, GetResourceSet gebruikt u terugvalregels voor resources om een geschikte resource te laden. Als tryParents dat het is false en een cultuurspecifieke resourceset niet kan worden gevonden, retourneert nullde methode . Zie de sectie 'Het terugvalproces voor resources' in het artikel Resources verpakken en implementeren voor meer informatie over terugval van resources.