ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Methode

Definitie

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.

Van toepassing op

Zie ook