ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Метод

Определение

Извлекает набор ресурсов для определенного языка и региональных параметров.Retrieves the resource set for a particular culture.

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

Параметры

culture
CultureInfo

Язык и региональные параметры, ресурсы для которых необходимо получить.The culture whose resources are to be retrieved.

createIfNotExists
Boolean

Значение true для загрузки набора ресурсов, если он еще не загружен; в противном случае — значение false.true to load the resource set, if it has not been loaded yet; otherwise, false.

tryParents
Boolean

Значение true, чтобы соответствующий ресурс загружался с использованием резервных ресурсов, если набор ресурсов не удается найти. Значение false для обхода процесса использования резервных ресурсов.true to use resource fallback to load an appropriate resource if the resource set cannot be found; false to bypass the resource fallback process.

Возвращаемое значение

ResourceSet

Набор ресурсов для указанного языка и региональных параметров.The resource set for the specified culture.

Исключения

Параметр culture имеет значение null.The culture parameter is null.

Параметр tryParents имеет значение true, не найден подходящий набор ресурсов, и отсутствуют ресурсы языка и региональных параметров по умолчанию.tryParents is true, no usable set of resources has been found, and there are no default culture resources.

Примеры

В следующем примере вызывается GetResourceSet метод для получения ресурсов, зависящих от языка и региональных параметров, для французского языка (Франция).The following example calls the GetResourceSet method to retrieve culture-specific resources for the French (France) culture. Затем выполняется перечисление всех ресурсов в наборе ресурсов.It then enumerates all of the resources in the resource set. Он содержит исходный код для исполняемого файла с именем ShowNumbers.exe.It contains the source code for an executable named ShowNumbers.exe. Он также содержит два текстовых файла, которые содержат имена чисел.It also includes the following two text file that contain the names of numbers. Первый, NumberResources.txt, содержит имена от одного до десяти на английском языке:The first, NumberResources.txt, contains the names of numbers from one to ten in the English language:

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

Вторая, NumberResources.fr-FR.txt, содержит названия чисел от одного до четырех на французском языке:The second, NumberResources.fr-FR.txt, contains the names of numbers from one to four in the French language:

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

Можно использовать пакетный файл для создания файлов ресурсов, внедрить файл ресурсов на английском языке в исполняемые файлы и создать вспомогательную сборку для ресурсов на французском языке.You can use a batch file to generate the resource files, embed the English language resource file into the executable, and create a satellite assembly for the French language resources. Ниже приведен пакетный файл для создания исполняемого файла с помощью компилятора Visual Basic:Here's the batch file to generate an executable by using the 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

Для компилятора C# можно использовать следующий пакетный файл:For the C# compiler, you can use the following batch file:

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

Обратите внимание, что при изменении значения createIfNotExists аргумента на false метод возвращает значение, null поскольку диспетчер ресурсов еще не загрузила ресурсы на французском языке.Note that if you change the value of the createIfNotExists argument to false, the method call returns null, since Resource Manager has not already loaded the French language resources.

Комментарии

Возвращаемый набор ресурсов представляет ресурсы, локализованные для указанного языка и региональных параметров.The resource set that is returned represents the resources that are localized for the specified culture. Если ресурсы не были локализованы для этого языка и tryParents являются true , GetResourceSet использует правила резерва ресурсов для загрузки соответствующего ресурса.If the resources have not been localized for that culture and tryParents is true, GetResourceSet uses resource fallback rules to load an appropriate resource. Если параметр tryParents имеет значение false и набор ресурсов, зависящий от языка и региональных параметров, не найден, метод возвращает null .If tryParents is false and a culture-specific resource set cannot be found, the method returns null. Дополнительные сведения о возврате ресурсов см. в разделе "процесс резервного использования ресурсов" статьи Упаковка и развертывание ресурсов .For more information about resource fallback, see "The Resource Fallback Process" section in the Packaging and Deploying Resources article.

Применяется к

См. также раздел