Condividi tramite


ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) Metodo

Definizione

Recupera il set di risorse per impostazioni cultura specifiche.

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

Parametri

culture
CultureInfo

Impostazioni cultura di cui devono essere recuperate le risorse.

createIfNotExists
Boolean

true per caricare il set di risorse, se non è stato ancora caricato, in caso contrario false.

tryParents
Boolean

true per usare il fallback delle risorse per caricare una risorsa appropriata se il set di risorse non è disponibile, false per ignorare il processo di fallback delle risorse.

Restituisce

Set di risorse per le impostazioni cultura specificate.

Eccezioni

Il valore del parametro culture è null.

tryParents è true, non sono stati individuati insiemi di risorse utilizzabili e non esistono risorse delle impostazioni cultura predefinite.

Esempio

Nell'esempio seguente viene chiamato il GetResourceSet metodo per recuperare risorse specifiche delle impostazioni cultura per le impostazioni cultura francese (Francia). Enumera quindi tutte le risorse nel set di risorse. Contiene il codice sorgente per un eseguibile denominato ShowNumbers.exe. Include anche i due file di testo seguenti che contengono i nomi dei numeri. Il primo, NumberResources.txt, contiene i nomi dei numeri da uno a dieci nella lingua inglese:

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

Il secondo, NumberResources.fr-FR.txt, contiene i nomi dei numeri da uno a quattro nella lingua francese:

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

È possibile usare un file batch per generare i file di risorse, incorporare il file di risorse della lingua inglese nell'eseguibile e creare un assembly satellite per le risorse della lingua francese. Ecco il file batch per generare un eseguibile usando il compilatore 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

Per il compilatore C#, è possibile usare il file batch seguente:

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

Si noti che se si modifica il valore dell'argomento createIfNotExists in , la chiamata al falsemetodo restituisce null, poiché Resource Manager non ha già caricato le risorse in lingua francese.

Commenti

Il set di risorse restituito rappresenta le risorse localizzate per le impostazioni cultura specificate. Se le risorse non sono state localizzate per tali impostazioni cultura e tryParents è true, GetResourceSet usa le regole di fallback delle risorse per caricare una risorsa appropriata. Se tryParents è e non è false possibile trovare un set di risorse specifico delle impostazioni cultura, il metodo restituisce null. Per altre informazioni sul fallback delle risorse, vedere la sezione "Processo di fallback delle risorse" nell'articolo Creazione di pacchetti e distribuzione di risorse .

Si applica a

Vedi anche