ResourceManager.GetString Metodo

Definizione

Restituisce la risorsa stringa specificata per le impostazioni cultura specificate o le impostazioni cultura correnti dell'interfaccia utente.

Overload

Nome Descrizione
GetString(String)

Restituisce il valore della risorsa stringa specificata.

GetString(String, CultureInfo)

Restituisce il valore della risorsa stringa localizzata per le impostazioni cultura specificate.

GetString(String)

Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs

Restituisce il valore della risorsa stringa specificata.

public:
 System::String ^ GetString(System::String ^ name);
public:
 virtual System::String ^ GetString(System::String ^ name);
public string GetString(string name);
public virtual string? GetString(string name);
public virtual string GetString(string name);
member this.GetString : string -> string
abstract member GetString : string -> string
override this.GetString : string -> string
Public Function GetString (name As String) As String
Public Overridable Function GetString (name As String) As String

Parametri

name
String

Nome della risorsa da recuperare.

Valori restituiti

Valore della risorsa localizzata per le impostazioni cultura correnti dell'interfaccia utente del chiamante o null se name non è possibile trovare in un set di risorse.

Eccezioni

Il name parametro è null.

Il valore della risorsa specificata non è una stringa.

Non è stato trovato alcun set utilizzabile di risorse e non sono disponibili risorse per le impostazioni cultura predefinite. Per informazioni su come gestire questa eccezione, vedere la sezione "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" nell'argomento della classe ResourceManager.

Le risorse delle impostazioni cultura predefinite risiedono in un assembly satellite che non è stato trovato. Per informazioni su come gestire questa eccezione, vedere la sezione "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" nell'argomento della classe ResourceManager.

Commenti

La proprietà IgnoreCase determina se il confronto di name con i nomi delle risorse avviene senza distinzione tra maiuscole e minuscole (impostazione predefinita) o con distinzione tra maiuscole e minuscole.

Note

I metodi GetString possono generare più eccezioni di quelle elencate. Un motivo per cui questo potrebbe verificarsi è se un metodo che questo metodo chiama genera un'eccezione. Ad esempio, è possibile che venga generata un'eccezione FileLoadException se è stato generato un errore durante la distribuzione o l'installazione di un assembly satellite o se viene generata un'eccezione SerializationException se un tipo definito dall'utente genera un'eccezione definita dall'utente quando il tipo viene deserializzato.

Metodo GetString(String)

Applicazioni desktop

Nelle app desktop, la risorsa restituita è localizzata in base alla cultura dell'interfaccia utente del thread corrente, come definito dalla proprietà CultureInfo.CurrentUICulture. Se la risorsa non è stata localizzata per quelle impostazioni cultura, il Resource Manager cerca una risorsa seguendo i passaggi descritti nella sezione "Processo di fallback delle risorse" dell'articolo Creazione di pacchetti e distribuzione di risorse. Se non viene trovato alcun set utilizzabile di risorse localizzate, il gestore delle risorse passa alle risorse della cultura predefinita. Se il resource manager non è in grado di caricare il set di risorse della cultura predefinita, il metodo lancia un'eccezione MissingManifestResourceException oppure, se il set di risorse è previsto risiedere in un assembly satellite, un'eccezione MissingSatelliteAssemblyException. Se resource manager può caricare un set di risorse appropriato ma non riesce a trovare una risorsa denominata name, il metodo restituisce null.

Esempio

Nell'esempio seguente viene usato il metodo GetString per recuperare risorse specifiche della cultura. È costituito da risorse compilate da file .txt per l'inglese (en), il francese (Francia) (fr-FR) e il russo (Russia) (ru-RU) culture. In questo esempio, si modificano le impostazioni culturali correnti e le impostazioni culturali dell'interfaccia utente in inglese (Stati Uniti), francese (Francia), russo (Russia) e svedese (Svezia). Chiama quindi il metodo GetString per recuperare la stringa localizzata, visualizzata insieme al giorno e al mese correnti. Nota che l'output visualizza la stringa localizzata appropriata tranne quando le impostazioni della cultura dell'interfaccia utente corrente sono svedesi (Svezia). Poiché le risorse in lingua svedese non sono disponibili, l'app usa invece le risorse delle impostazioni cultura predefinite, ovvero inglese. L'esempio richiede i file di risorse basati sul testo elencati nella tabella seguente. Ogni oggetto ha una singola risorsa stringa denominata DateStart.

Cultura Nome del file Nome risorsa Valore della risorsa
en-US DateStrings.txt DateStart Oggi è
fr-FR DateStrings.fr-FR.txt DateStart Oggi è il
ru-RU DateStrings.ru-RU.txt DateStart Сегодня

È possibile usare il file batch seguente per compilare l'esempio C#. Per Visual Basic modificare csc in vbce modificare l'estensione del file di codice sorgente da .cs a .vb.

resgen DateStrings.txt
csc showdate.cs /resource:DateStrings.resources

md fr-FR
resgen DateStrings.fr-FR.txt
al /out:fr-FR\Showdate.resources.dll /culture:fr-FR /embed:DateStrings.fr-FR.resources

md ru-RU
resgen DateStrings.ru-RU.txt
al /out:ru-RU\Showdate.resources.dll /culture:ru-RU /embed:DateStrings.ru-RU.resources

Ecco il codice sorgente per l'esempio (ShowDate.vb per la versione di Visual Basic o ShowDate.cs per la versione C#).

using System;
using System.Globalization;
using System.Resources;
using System.Threading;

public class ShowTimeExample
{
   public static void Main()
   {
      string[] cultureNames = [ "en-US", "fr-FR", "ru-RU", "sv-SE" ];
      ResourceManager rm = new ResourceManager("DateStrings",
                                               typeof(Example).Assembly);

      foreach (var cultureName in cultureNames) {
         CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureName);
         Thread.CurrentThread.CurrentCulture = culture;
         Thread.CurrentThread.CurrentUICulture = culture;

         Console.WriteLine($"Current UI Culture: {CultureInfo.CurrentUICulture.Name}");
         string dateString = rm.GetString("DateStart");
         Console.WriteLine($"{dateString} {DateTime.Now:M}.\n");
      }
   }
}

// The example displays output similar to the following:
//       Current UI Culture: en-US
//       Today is February 03.
//
//       Current UI Culture: fr-FR
//       Aujourd'hui, c'est le 3 février
//
//       Current UI Culture: ru-RU
//       Сегодня февраля 03.
//
//       Current UI Culture: sv-SE
//       Today is den 3 februari.
Imports System.Globalization
Imports System.Resources
Imports System.Threading

<Assembly:NeutralResourcesLanguage("en")>

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR", "ru-RU", "sv-SE" }
      Dim rm As New ResourceManager("DateStrings",
                                    GetType(Example).Assembly)
      
      For Each cultureName In cultureNames
         Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture(cultureName)
         Thread.CurrentThread.CurrentCulture = culture 
         Thread.CurrentThread.CurrentUICulture = culture

         Console.WriteLine("Current UI Culture: {0}", 
                           CultureInfo.CurrentUICulture.Name)
         Dim dateString As String = rm.GetString("DateStart")
         Console.WriteLine("{0} {1:M}.", dateString, Date.Now)                           
         Console.WriteLine()
      Next                                           
   End Sub
End Module
' The example displays output similar to the following:
'       Current UI Culture: en-US
'       Today is February 03.
'       
'       Current UI Culture: fr-FR
'       Aujourd'hui, c'est le 3 février
'       
'       Current UI Culture: ru-RU
'       Сегодня февраля 03.
'       
'       Current UI Culture: sv-SE
'       Today is den 3 februari.

Metodo GetString(String, CultureInfo)

Applicazioni desktop

Nelle app desktop, se culture è null, il metodo GetString(String, CultureInfo) usa la cultura UI corrente ottenuta dalla proprietà CultureInfo.CurrentUICulture.

La risorsa restituita viene localizzata per la cultura specificata dal parametro culture. Se la risorsa non è stata localizzata per culture, il gestore delle risorse cerca la risorsa seguendo i passaggi descritti nella sezione "Processo di fallback delle risorse" dell'argomento Creazione di pacchetti e distribuzione di risorse. Se non viene trovato alcun set utilizzabile di risorse, il gestore delle risorse esegue il fallback sulle risorse della cultura predefinita. Se il resource manager non è in grado di caricare il set di risorse della cultura predefinita, il metodo lancia un'eccezione MissingManifestResourceException oppure, se il set di risorse è previsto risiedere in un assembly satellite, un'eccezione MissingSatelliteAssemblyException. Se resource manager può caricare un set di risorse appropriato ma non riesce a trovare una risorsa denominata name, il metodo restituisce null.

Esempio

Nell'esempio seguente viene usato il metodo GetString(String, CultureInfo) per recuperare risorse specifiche della cultura. L'impostazione cultura predefinita dell'esempio è inglese (en) e include assembly satellite per le impostazioni culturali francesi (Francia) (fr-FR) e russe (Russia) (ru-RU). L'esempio modifica le impostazioni culturali e dell'interfaccia utente correnti in russo (Russia) prima di chiamare GetString(String, CultureInfo). Chiama quindi il metodo GetString e il metodo DateTime.ToString(String, IFormatProvider) e passa oggetti CultureInfo che rappresentano le culture francese (Francia) e svedese (Svezia) a ogni metodo. Nell'output, il mese e il giorno del mese, nonché la stringa che li precede vengono visualizzati in francese, perché il metodo GetString è in grado di recuperare la risorsa lingua francese. Tuttavia, quando si usano le impostazioni cultura svedesi (Svezia), il mese e il giorno del mese vengono visualizzati in svedese, anche se la stringa che li precede è in inglese. Ciò è dovuto al fatto che resource manager non riesce a trovare risorse localizzate in lingua svedese, quindi restituisce una risorsa per le impostazioni cultura inglese predefinite.

L'esempio richiede i file di risorse basati sul testo elencati nella tabella seguente. Ogni oggetto ha una singola risorsa stringa denominata DateStart.

Cultura Nome del file Nome risorsa Valore della risorsa
en-US DateStrings.txt DateStart Oggi è
fr-FR DateStrings.fr-FR.txt DateStart Oggi è il
ru-RU DateStrings.ru-RU.txt DateStart Сегодня

È possibile usare il file batch seguente per compilare l'esempio di Visual Basic. Per compilare in C#, modificare vbc in csce modificare l'estensione del file di codice sorgente da .vb a .cs.

resgen DateStrings.txt
vbc showdate.vb /resource:DateStrings.resources

md fr-FR
resgen DateStrings.fr-FR.txt
al /out:fr-FR\Showdate.resources.dll /culture:fr-FR /embed:DateStrings.fr-FR.resources

md ru-RU
resgen DateStrings.ru-RU.txt
al /out:ru-RU\Showdate.resources.dll /culture:ru-RU /embed:DateStrings.ru-RU.resources

Ecco il codice sorgente per l'esempio (ShowDate.vb per la versione di Visual Basic o ShowDate.cs per la versione C#).

using System;
using System.Globalization;
using System.Resources;
using System.Threading;

public class Example2
{
    public static void Main()
    {
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ru-RU");
        Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU");

        string[] cultureNames = [ "fr-FR", "sv-SE" ];
        ResourceManager rm = new ResourceManager("DateStrings",
                                                 typeof(Example).Assembly);

        foreach (var cultureName in cultureNames)
        {
            CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureName);
            string dateString = rm.GetString("DateStart", culture);
            Console.WriteLine($"{culture.DisplayName}: {dateString} {DateTime.Now.ToString("M", culture)}.");
            Console.WriteLine();
        }
    }
}

// The example displays output similar to the following:
//       French (France): Aujourd'hui, c'est le 7 février.
//
//       Swedish (Sweden): Today is den 7 februari.
Imports System.Globalization
Imports System.Resources
Imports System.Threading

Module Example2
    Public Sub Main()
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ru-RU")
        Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU")

        Dim cultureNames() As String = {"fr-FR", "sv-SE"}
        Dim rm As New ResourceManager("DateStrings",
                                    GetType(Example).Assembly)

        For Each cultureName In cultureNames
            Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture(cultureName)
            Dim dateString As String = rm.GetString("DateStart", culture)
            Console.WriteLine("{0}: {1} {2}.", culture.DisplayName, dateString,
                                            Date.Now.ToString("M", culture))
            Console.WriteLine()
        Next
    End Sub
End Module
' The example displays output similar to the following:
'       French (France): Aujourd'hui, c'est le 7 février.
'       
'       Swedish (Sweden): Today is den 7 februari.

Thread safety

Il GetString(String) metodo è thread-safe.

Vedi anche

Si applica a

GetString(String, CultureInfo)

Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs
Origine:
ResourceManager.cs

Restituisce il valore della risorsa stringa localizzata per le impostazioni cultura specificate.

public:
 virtual System::String ^ GetString(System::String ^ name, System::Globalization::CultureInfo ^ culture);
public virtual string GetString(string name, System.Globalization.CultureInfo culture);
public virtual string? GetString(string name, System.Globalization.CultureInfo? culture);
abstract member GetString : string * System.Globalization.CultureInfo -> string
override this.GetString : string * System.Globalization.CultureInfo -> string
Public Overridable Function GetString (name As String, culture As CultureInfo) As String

Parametri

name
String

Nome della risorsa da recuperare.

culture
CultureInfo

Oggetto che rappresenta le impostazioni cultura per cui la risorsa viene localizzata.

Valori restituiti

Valore della risorsa localizzata per le impostazioni cultura specificate o null se name non è possibile trovare in un set di risorse.

Eccezioni

Il name parametro è null.

Il valore della risorsa specificata non è una stringa.

Non è stato trovato alcun set utilizzabile di risorse e non sono disponibili risorse per impostazioni cultura predefinite. Per informazioni su come gestire questa eccezione, vedere la sezione "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" nell'argomento della classe ResourceManager.

Le risorse delle impostazioni cultura predefinite risiedono in un assembly satellite che non è stato trovato. Per informazioni su come gestire questa eccezione, vedere la sezione "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" nell'argomento della classe ResourceManager.

Commenti

La proprietà IgnoreCase determina se il confronto di name con i nomi delle risorse avviene senza distinzione tra maiuscole e minuscole (impostazione predefinita) o con distinzione tra maiuscole e minuscole.

Note

I metodi GetString possono generare più eccezioni di quelle elencate. Un motivo per cui questo potrebbe verificarsi è se un metodo che questo metodo chiama genera un'eccezione. Ad esempio, è possibile che venga generata un'eccezione FileLoadException se è stato generato un errore durante la distribuzione o l'installazione di un assembly satellite o se viene generata un'eccezione SerializationException se un tipo definito dall'utente genera un'eccezione definita dall'utente quando il tipo viene deserializzato.

Metodo GetString(String)

Applicazioni desktop

Nelle app desktop, la risorsa restituita è localizzata in base alla cultura dell'interfaccia utente del thread corrente, come definito dalla proprietà CultureInfo.CurrentUICulture. Se la risorsa non è stata localizzata per quelle impostazioni cultura, il Resource Manager cerca una risorsa seguendo i passaggi descritti nella sezione "Processo di fallback delle risorse" dell'articolo Creazione di pacchetti e distribuzione di risorse. Se non viene trovato alcun set utilizzabile di risorse localizzate, il gestore delle risorse passa alle risorse della cultura predefinita. Se il resource manager non è in grado di caricare il set di risorse della cultura predefinita, il metodo lancia un'eccezione MissingManifestResourceException oppure, se il set di risorse è previsto risiedere in un assembly satellite, un'eccezione MissingSatelliteAssemblyException. Se resource manager può caricare un set di risorse appropriato ma non riesce a trovare una risorsa denominata name, il metodo restituisce null.

Esempio

Nell'esempio seguente viene usato il metodo GetString per recuperare risorse specifiche della cultura. È costituito da risorse compilate da file .txt per l'inglese (en), il francese (Francia) (fr-FR) e il russo (Russia) (ru-RU) culture. In questo esempio, si modificano le impostazioni culturali correnti e le impostazioni culturali dell'interfaccia utente in inglese (Stati Uniti), francese (Francia), russo (Russia) e svedese (Svezia). Chiama quindi il metodo GetString per recuperare la stringa localizzata, visualizzata insieme al giorno e al mese correnti. Nota che l'output visualizza la stringa localizzata appropriata tranne quando le impostazioni della cultura dell'interfaccia utente corrente sono svedesi (Svezia). Poiché le risorse in lingua svedese non sono disponibili, l'app usa invece le risorse delle impostazioni cultura predefinite, ovvero inglese. L'esempio richiede i file di risorse basati sul testo elencati nella tabella seguente. Ogni oggetto ha una singola risorsa stringa denominata DateStart.

Cultura Nome del file Nome risorsa Valore della risorsa
en-US DateStrings.txt DateStart Oggi è
fr-FR DateStrings.fr-FR.txt DateStart Oggi è il
ru-RU DateStrings.ru-RU.txt DateStart Сегодня

È possibile usare il file batch seguente per compilare l'esempio C#. Per Visual Basic modificare csc in vbce modificare l'estensione del file di codice sorgente da .cs a .vb.

resgen DateStrings.txt
csc showdate.cs /resource:DateStrings.resources

md fr-FR
resgen DateStrings.fr-FR.txt
al /out:fr-FR\Showdate.resources.dll /culture:fr-FR /embed:DateStrings.fr-FR.resources

md ru-RU
resgen DateStrings.ru-RU.txt
al /out:ru-RU\Showdate.resources.dll /culture:ru-RU /embed:DateStrings.ru-RU.resources

Ecco il codice sorgente per l'esempio (ShowDate.vb per la versione di Visual Basic o ShowDate.cs per la versione C#).

using System;
using System.Globalization;
using System.Resources;
using System.Threading;

public class ShowTimeExample
{
   public static void Main()
   {
      string[] cultureNames = [ "en-US", "fr-FR", "ru-RU", "sv-SE" ];
      ResourceManager rm = new ResourceManager("DateStrings",
                                               typeof(Example).Assembly);

      foreach (var cultureName in cultureNames) {
         CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureName);
         Thread.CurrentThread.CurrentCulture = culture;
         Thread.CurrentThread.CurrentUICulture = culture;

         Console.WriteLine($"Current UI Culture: {CultureInfo.CurrentUICulture.Name}");
         string dateString = rm.GetString("DateStart");
         Console.WriteLine($"{dateString} {DateTime.Now:M}.\n");
      }
   }
}

// The example displays output similar to the following:
//       Current UI Culture: en-US
//       Today is February 03.
//
//       Current UI Culture: fr-FR
//       Aujourd'hui, c'est le 3 février
//
//       Current UI Culture: ru-RU
//       Сегодня февраля 03.
//
//       Current UI Culture: sv-SE
//       Today is den 3 februari.
Imports System.Globalization
Imports System.Resources
Imports System.Threading

<Assembly:NeutralResourcesLanguage("en")>

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR", "ru-RU", "sv-SE" }
      Dim rm As New ResourceManager("DateStrings",
                                    GetType(Example).Assembly)
      
      For Each cultureName In cultureNames
         Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture(cultureName)
         Thread.CurrentThread.CurrentCulture = culture 
         Thread.CurrentThread.CurrentUICulture = culture

         Console.WriteLine("Current UI Culture: {0}", 
                           CultureInfo.CurrentUICulture.Name)
         Dim dateString As String = rm.GetString("DateStart")
         Console.WriteLine("{0} {1:M}.", dateString, Date.Now)                           
         Console.WriteLine()
      Next                                           
   End Sub
End Module
' The example displays output similar to the following:
'       Current UI Culture: en-US
'       Today is February 03.
'       
'       Current UI Culture: fr-FR
'       Aujourd'hui, c'est le 3 février
'       
'       Current UI Culture: ru-RU
'       Сегодня февраля 03.
'       
'       Current UI Culture: sv-SE
'       Today is den 3 februari.

Metodo GetString(String, CultureInfo)

Applicazioni desktop

Nelle app desktop, se culture è null, il metodo GetString(String, CultureInfo) usa la cultura UI corrente ottenuta dalla proprietà CultureInfo.CurrentUICulture.

La risorsa restituita viene localizzata per la cultura specificata dal parametro culture. Se la risorsa non è stata localizzata per culture, il gestore delle risorse cerca la risorsa seguendo i passaggi descritti nella sezione "Processo di fallback delle risorse" dell'argomento Creazione di pacchetti e distribuzione di risorse. Se non viene trovato alcun set utilizzabile di risorse, il gestore delle risorse esegue il fallback sulle risorse della cultura predefinita. Se il resource manager non è in grado di caricare il set di risorse della cultura predefinita, il metodo lancia un'eccezione MissingManifestResourceException oppure, se il set di risorse è previsto risiedere in un assembly satellite, un'eccezione MissingSatelliteAssemblyException. Se resource manager può caricare un set di risorse appropriato ma non riesce a trovare una risorsa denominata name, il metodo restituisce null.

Esempio

Nell'esempio seguente viene usato il metodo GetString(String, CultureInfo) per recuperare risorse specifiche della cultura. L'impostazione cultura predefinita dell'esempio è inglese (en) e include assembly satellite per le impostazioni culturali francesi (Francia) (fr-FR) e russe (Russia) (ru-RU). L'esempio modifica le impostazioni culturali e dell'interfaccia utente correnti in russo (Russia) prima di chiamare GetString(String, CultureInfo). Chiama quindi il metodo GetString e il metodo DateTime.ToString(String, IFormatProvider) e passa oggetti CultureInfo che rappresentano le culture francese (Francia) e svedese (Svezia) a ogni metodo. Nell'output, il mese e il giorno del mese, nonché la stringa che li precede vengono visualizzati in francese, perché il metodo GetString è in grado di recuperare la risorsa lingua francese. Tuttavia, quando si usano le impostazioni cultura svedesi (Svezia), il mese e il giorno del mese vengono visualizzati in svedese, anche se la stringa che li precede è in inglese. Ciò è dovuto al fatto che resource manager non riesce a trovare risorse localizzate in lingua svedese, quindi restituisce una risorsa per le impostazioni cultura inglese predefinite.

L'esempio richiede i file di risorse basati sul testo elencati nella tabella seguente. Ogni oggetto ha una singola risorsa stringa denominata DateStart.

Cultura Nome del file Nome risorsa Valore della risorsa
en-US DateStrings.txt DateStart Oggi è
fr-FR DateStrings.fr-FR.txt DateStart Oggi è il
ru-RU DateStrings.ru-RU.txt DateStart Сегодня

È possibile usare il file batch seguente per compilare l'esempio di Visual Basic. Per compilare in C#, modificare vbc in csce modificare l'estensione del file di codice sorgente da .vb a .cs.

resgen DateStrings.txt
vbc showdate.vb /resource:DateStrings.resources

md fr-FR
resgen DateStrings.fr-FR.txt
al /out:fr-FR\Showdate.resources.dll /culture:fr-FR /embed:DateStrings.fr-FR.resources

md ru-RU
resgen DateStrings.ru-RU.txt
al /out:ru-RU\Showdate.resources.dll /culture:ru-RU /embed:DateStrings.ru-RU.resources

Ecco il codice sorgente per l'esempio (ShowDate.vb per la versione di Visual Basic o ShowDate.cs per la versione C#).

using System;
using System.Globalization;
using System.Resources;
using System.Threading;

public class Example2
{
    public static void Main()
    {
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ru-RU");
        Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU");

        string[] cultureNames = [ "fr-FR", "sv-SE" ];
        ResourceManager rm = new ResourceManager("DateStrings",
                                                 typeof(Example).Assembly);

        foreach (var cultureName in cultureNames)
        {
            CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureName);
            string dateString = rm.GetString("DateStart", culture);
            Console.WriteLine($"{culture.DisplayName}: {dateString} {DateTime.Now.ToString("M", culture)}.");
            Console.WriteLine();
        }
    }
}

// The example displays output similar to the following:
//       French (France): Aujourd'hui, c'est le 7 février.
//
//       Swedish (Sweden): Today is den 7 februari.
Imports System.Globalization
Imports System.Resources
Imports System.Threading

Module Example2
    Public Sub Main()
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ru-RU")
        Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ru-RU")

        Dim cultureNames() As String = {"fr-FR", "sv-SE"}
        Dim rm As New ResourceManager("DateStrings",
                                    GetType(Example).Assembly)

        For Each cultureName In cultureNames
            Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture(cultureName)
            Dim dateString As String = rm.GetString("DateStart", culture)
            Console.WriteLine("{0}: {1} {2}.", culture.DisplayName, dateString,
                                            Date.Now.ToString("M", culture))
            Console.WriteLine()
        Next
    End Sub
End Module
' The example displays output similar to the following:
'       French (France): Aujourd'hui, c'est le 7 février.
'       
'       Swedish (Sweden): Today is den 7 februari.

Thread safety

Il GetString(String, CultureInfo) metodo è thread-safe.

Vedi anche

Si applica a