Freigeben über


ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Methode

Definition

Ruft die Ressource ab, die für eine bestimmte Kultur festgelegt wird.

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

Parameter

culture
CultureInfo

Die Kultur, deren Ressourcen abgerufen werden sollen.

createIfNotExists
Boolean

true, um den Ressourcensatz zu laden, falls er noch nicht geladen wurde; andernfalls false.

tryParents
Boolean

true, um Ressourcenfallback zu verwenden, um eine entsprechende Ressource zu laden, wenn der Ressourcensatz nicht gefunden werden kann; false, um den Ressourcenfallback-Prozess zu umgehen.

Gibt zurück

Die Ressource, die für die angegebene Kultur festgelegt wurde.

Ausnahmen

Der culture-Parameter ist null.

tryParents ist true, es wurde kein passender Satz von Ressourcen gefunden, und es sind keine Ressourcen für die Standardkultur vorhanden.

Beispiele

Im folgenden Beispiel wird die GetResourceSet -Methode aufgerufen, um kulturspezifische Ressourcen für die Kultur Französisch (Frankreich) abzurufen. Anschließend werden alle Ressourcen im Ressourcensatz aufgelistet. Sie enthält den Quellcode für eine ausführbare Datei namens ShowNumbers.exe. Es enthält auch die folgenden zwei Textdateien, die die Namen von Zahlen enthalten. Die erste, NumberResources.txt, enthält die Namen von Zahlen von 1 bis zehn in englischer Sprache:

one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten

Die zweite, NumberResources.fr-FR.txt, enthält die Namen von Zahlen von 1 bis vier in der französischen Sprache:

one=un
two=deux
three=trois
four=quatre

Sie können eine Batchdatei verwenden, um die Ressourcendateien zu generieren, die englischsprachige Ressourcendatei in die ausführbare Datei einzubetten und eine Satellitenassembly für die französischen Sprachressourcen zu erstellen. Dies ist die Batchdatei zum Generieren einer ausführbaren Datei mithilfe des Visual Basic-Compilers:

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 den C#-Compiler können Sie die folgende Batchdatei verwenden:

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:       ''

Wenn Sie den Wert des createIfNotExists Arguments in falseändern, gibt der Methodenaufruf zurücknull, da Resource Manager die französischen Sprachressourcen noch nicht geladen hat.

Hinweise

Der zurückgegebene Ressourcensatz stellt die Ressourcen dar, die für die angegebene Kultur lokalisiert sind. Wenn die Ressourcen für diese Kultur nicht lokalisiert wurden und tryParents den Wert haben true, GetResourceSet verwendet Ressourcenfallbackregeln, um eine geeignete Ressource zu laden. Wenn tryParents ist false und ein kulturspezifischer Ressourcensatz nicht gefunden werden kann, gibt die -Methode zurück null. Weitere Informationen zum Ressourcenfallback finden Sie im Abschnitt "Der Ressourcenfallbackprozess" im Artikel Packen und Bereitstellen von Ressourcen .

Gilt für:

Weitere Informationen