ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera el conjunto de recursos para una referencia cultural determinada.
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
Parámetros
- culture
- CultureInfo
Referencia cultural cuyos recursos se van a recuperar.
- createIfNotExists
- Boolean
true
para cargar el conjunto de recursos, si aún no se cargaron; de lo contrario, 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.
Devoluciones
El conjunto de recursos para la referencia cultural especificada.
Excepciones
El parámetro culture
es 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.
Ejemplos
En el ejemplo siguiente se llama al GetResourceSet método para recuperar recursos específicos de la referencia cultural para la referencia cultural francesa (Francia). A continuación, enumera todos los recursos del conjunto de recursos. Contiene el código fuente de un ejecutable denominado ShowNumbers.exe. También incluye el siguiente archivo de texto que contiene los nombres de los números. La primera, NumberResources.txt, contiene los nombres de números de uno a diez en inglés:
one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten
El segundo, NumberResources.fr-FR.txt, contiene los nombres de números de uno a cuatro en el idioma francés:
one=un
two=deux
three=trois
four=quatre
Puede usar un archivo por lotes para generar los archivos de recursos, insertar el archivo de recursos de idioma inglés en el ejecutable y crear un ensamblado satélite para los recursos de idioma francés. Este es el archivo por lotes para generar un archivo ejecutable mediante el compilador de 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
Para el compilador de C#, puede usar el siguiente archivo por lotes:
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 createIfNotExists
argumento a false
, la llamada al método devuelve null
, ya que Resource Manager aún no ha cargado los recursos de idioma francés.
Comentarios
El conjunto de recursos que se devuelve representa los recursos localizados para la referencia cultural especificada. Si los recursos no se han localizado para esa referencia cultural y tryParents
es true
, GetResourceSet usa reglas de reserva de recursos para cargar un recurso adecuado. Si tryParents
es false
y no se encuentra un conjunto de recursos específico de la referencia cultural, el método devuelve null
. Para obtener más información sobre la reserva de recursos, consulte la sección "Proceso de reserva de recursos" del artículo Empaquetado e implementación de recursos .