ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Metoda

Definice

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

truenačíst sadu prostředků, pokud ještě nebyla načtena; v opačném případě . false

tryParents
Boolean

true použít záložní prostředek k načtení příslušného prostředku, pokud sadu prostředků nelze najít; false pro obejití záložního procesu prostředku.

Návraty

Sada prostředků 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í 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. Příklad obsahuje dva textové soubory, které obsahují názvy čísel. První NumberResources.txtobsahuje názvy čísel z 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.txtobsahuje názvy čísel z 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ředku 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 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:       ''

Pokud změníte hodnotu argumentu createIfNotExists na false, volání metody vrátí null, protože Resource Manager ještě nenačetly prostředky francouzského jazyka.

Poznámky

Vrácená sada prostředků představuje prostředky lokalizované pro zadanou jazykovou verzi. Pokud prostředky nebyly pro danou jazykovou verzi lokalizovány 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 sada prostředků specifická pro jazykovou verzi nebyla nalezena, metoda vrátí null. 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ů .

Platí pro

Viz také