ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Método

Definición

Recupera el conjunto de recursos para una referencia cultural determinada.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);
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

Parámetros

culture
CultureInfo

Referencia cultural cuyos recursos se van a recuperar.The culture whose resources are to be retrieved.

createIfNotExists
Boolean

true para cargar el conjunto de recursos, si aún no se cargaron; de lo contrario, false.true to load the resource set, if it has not been loaded yet; otherwise, false.

tryParents
Boolean

true para usar la reserva de recursos para cargar un recurso adecuado si el conjunto de recursos no se puede encontrar; false para omitir el proceso de reserva de recursos.true to use resource fallback to load an appropriate resource if the resource set cannot be found; false to bypass the resource fallback process.

Devoluciones

El conjunto de recursos para la referencia cultural especificada.The resource set for the specified culture.

Excepciones

El parámetro culture es null.The culture parameter is null.

tryParents es true si no se han encontrado conjuntos de recursos que se puedan usar y no hay recursos de la referencia cultural predeterminada.tryParents is true, no usable set of resources has been found, and there are no default culture resources.

Ejemplos

En el ejemplo siguiente se llama al método GetResourceSet para recuperar los recursos específicos de la referencia cultural para la referencia cultural francés (Francia).The following example calls the GetResourceSet method to retrieve culture-specific resources for the French (France) culture. A continuación, enumera todos los recursos del conjunto de recursos.It then enumerates all of the resources in the resource set. Contiene el código fuente de un archivo ejecutable denominado ShowNumbers. exe.It contains the source code for an executable named ShowNumbers.exe. También incluye los dos archivos de texto siguientes que contienen los nombres de los números.It also includes the following two text file that contain the names of numbers. El primero, NumberResources. txt, contiene los nombres de los números de uno a diez en el idioma inglés: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

El segundo, NumberResources.fr Strings.fr. txt, contiene los nombres de los números de uno a cuatro en el idioma francés: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

Puede usar un archivo por lotes para generar los archivos de recursos, incrustar el archivo de recursos de idioma en inglés en el ejecutable y crear un ensamblado satélite para los recursos de idioma francés.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. Este es el archivo por lotes para generar un archivo ejecutable mediante el compilador de 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

Para el C# compilador, puede usar el siguiente archivo por lotes: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:       ''

Tenga en cuenta que si cambia el valor del argumento createIfNotExists a false, la llamada al método devuelve null, ya que Administrador de recursos todavía no ha cargado los recursos de idioma francés.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.

Comentarios

El conjunto de recursos que se devuelve representa los recursos localizados para la referencia cultural especificada.The resource set that is returned represents the resources that are localized for the specified culture. Si los recursos no están localizados para esa referencia cultural y tryParents es true, GetResourceSet utiliza reglas de reserva de recursos para cargar un recurso adecuado.If the resources have not been localized for that culture and tryParents is true, GetResourceSet uses resource fallback rules to load an appropriate resource. Si tryParents se false y no se puede encontrar un conjunto de recursos específico de la referencia cultural, el método devuelve null.If tryParents is false and a culture-specific resource set cannot be found, the method returns null. Para obtener más información sobre la reserva de recursos, consulte la sección "el proceso de reserva de recursos" en el artículo empaquetado e implementación de recursos .For more information about resource fallback, see "The Resource Fallback Process" section in the Packaging and Deploying Resources article.

Seguridad

ReflectionPermission
Cuando se invoca enlazado en tiempo de ejecución mediante mecanismos como InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumeración asociada: MemberAccess.Associated enumeration: MemberAccess.

Se aplica a

Consulte también: