ResourceManager.GetString Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen kültür veya geçerli kullanıcı arabirimi kültürü için belirtilen dize kaynağını döndürür.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| GetString(String) |
Belirtilen dize kaynağının değerini döndürür. |
| GetString(String, CultureInfo) |
Belirtilen kültür için yerelleştirilmiş dize kaynağının değerini döndürür. |
GetString(String)
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
Belirtilen dize kaynağının değerini döndürür.
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
Parametreler
- name
- String
Alınacak kaynağın adı.
Döndürülenler
Çağıranın geçerli kullanıcı arabirimi kültürü için yerelleştirilmiş kaynağın değeri veya null bir kaynak kümesinde bulunamıyorsa name .
Özel durumlar
name parametresi null'dir.
Belirtilen kaynağın değeri bir dize değil.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kültür için kaynak yok. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Açıklamalar
IgnoreCase özelliği, name kaynak adlarıyla karşılaştırılmasının, büyük/küçük harfe duyarsız (varsayılan) mı yoksa büyük/küçük harfe duyarlı mı olduğunu belirler.
Note
GetString yöntemleri listelenenden daha fazla özel durum oluşturabilir. Bunun nedenlerinden biri, bu yöntemin çağırmış olduğu bir yöntemin özel durum oluşturmasıdır. Örneğin, bir uydu bütünleştirme parçası dağıtılırken veya yüklenirken bir hata yapıldığında bir FileLoadException özel durumu fırlatılabilir veya kullanıcı tanımlı bir tür, seri durumdan çıkarılırken kullanıcı tanımlı bir özel durum fırlatırsa bir SerializationException özel durumu fırlatılabilir.
GetString(String) yöntemi
Masaüstü uygulamaları
Masaüstü uygulamalarında döndürülen kaynak, CultureInfo.CurrentUICulture özelliği tarafından tanımlandığı gibi geçerli iş parçacığının kullanıcı arabirimi kültürü için yerelleştirilir. Kaynak bu kültür için yerelleştirilmemişse, kaynak yöneticisi kaynakları paketleme ve dağıtma makalesinin "Kaynak Geri Dönüş İşlemi" bölümünde açıklanan adımları izleyerek kaynağı yoklar. Kullanılabilir yerelleştirilmiş kaynak kümesi bulunmazsa, kaynak yöneticisi varsayılan kültürün kaynaklarına geri döner. Kaynak yöneticisi varsayılan kültürün kaynak kümesini yükleyemiyorsa, yöntemi bir MissingManifestResourceException özel durumu oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa MissingSatelliteAssemblyException özel durumu oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
Example
Aşağıdaki örnek, kültüre özgü kaynakları almak için GetString yöntemini kullanır. İngilizce (en), Fransızca (Fransa) (fr-FR) ve Rusça (Rusya) (ru-RU) kültürleri için .txt dosyalardan derlenen kaynaklardan oluşur. Örnek, geçerli kültürü ve geçerli kullanıcı arabirimi kültürünü İngilizce (ABD), Fransızca (Fransa), Rusça (Rusya) ve İsveççe (İsveç) olarak değiştirir. Ardından yerelleştirilmiş dizeyi almak için GetString yöntemini çağırır ve bu dize geçerli gün ve ay ile birlikte görüntülenir. Çıktının, geçerli kullanıcı arabirimi kültürünün İsveççe (İsveç) olması dışında uygun yerelleştirilmiş dizeyi görüntülediğine dikkat edin. İsveç dili kaynakları kullanılamadığından, uygulama bunun yerine varsayılan kültürün (İngilizce) kaynaklarını kullanır. Örnek, aşağıdaki tabloda listelenen metin tabanlı kaynak dosyalarını gerektirir. Her birinin DateStartadlı tek bir dize kaynağı vardır.
| Kültür | Dosya adı | Kaynak adı | Kaynak değeri |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Bugün |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Bugün, bu |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
C# örneğini derlemek için aşağıdaki toplu iş dosyasını kullanabilirsiniz. Visual Basic için cscvbcolarak değiştirin ve kaynak kod dosyasının uzantısını .cs.vbolarak değiştirin.
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
Örnek için kaynak kodu aşağıda verilmiştir (Visual Basic sürümü için ShowDate.vb veya C# sürümü için ShowDate.cs).
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.
GetString(String, CultureInfo) yöntemi
Masaüstü uygulamaları
Masaüstü uygulamalarında, culturenullise GetString(String, CultureInfo) yöntemi CultureInfo.CurrentUICulture özelliğinden elde edilen geçerli kullanıcı arabirimi kültürünü kullanır.
Döndürülen kaynak, culture parametresi tarafından belirtilen kültür için yerelleştirilir. Kaynak cultureiçin yerelleştirilmemişse, kaynak yöneticisi, Kaynakları Paketleme ve Dağıtma konusunun "Kaynak Geri Dönüş İşlemi" bölümünde açıklanan adımları izleyerek kaynağı yoklar. Kullanılabilir kaynak kümesi bulunmazsa, kaynak yöneticisi varsayılan kültürün kaynaklarına geri döner. Kaynak yöneticisi varsayılan kültürün kaynak kümesini yükleyemiyorsa, yöntemi bir MissingManifestResourceException özel durumu oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa MissingSatelliteAssemblyException özel durumu oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
Example
Aşağıdaki örnek, kültüre özgü kaynakları almak için GetString(String, CultureInfo) yöntemini kullanır. Örneğin varsayılan kültürü İngilizcedir (en) ve Fransızca (Fransa) (fr-FR) ve Rusça (Rusya) (ru-RU) kültürleri için uydu derlemeleri içerir. Örnek, GetString(String, CultureInfo)çağırmadan önce geçerli kültürü ve geçerli kullanıcı arabirimi kültürünü Rusça (Rusya) olarak değiştirir. Ardından GetString yöntemini ve DateTime.ToString(String, IFormatProvider) yöntemini çağırır ve her yönteme Fransızca (Fransa) ve İsveççe (İsveç) kültürlerini temsil eden CultureInfo nesneleri geçirir. Çıktıda, GetString yöntemi Fransızca dil kaynağını alabildiği için, ayın ayı ve gününün yanı sıra onlardan önce gelen dize Fransızca görünür. Ancak İsveççe (İsveç) kültürü kullanıldığında, kendisinden önceki dize İngilizce olmasına rağmen ayın ayı ve günü İsveççe olarak görünür. Bunun nedeni kaynak yöneticisinin yerelleştirilmiş İsveç dili kaynaklarını bulamamasıdır, bu nedenle bunun yerine varsayılan İngilizce kültürü için bir kaynak döndürür.
Örnek, aşağıdaki tabloda listelenen metin tabanlı kaynak dosyalarını gerektirir. Her birinin DateStartadlı tek bir dize kaynağı vardır.
| Kültür | Dosya adı | Kaynak adı | Kaynak değeri |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Bugün |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Bugün, bu |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Visual Basic örneğini derlemek için aşağıdaki toplu iş dosyasını kullanabilirsiniz. C# dilinde derlemek için vbccscolarak değiştirin ve kaynak kod dosyasının uzantısını .vb olarak .csolarak değiştirin.
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
Örnek için kaynak kodu aşağıda verilmiştir (Visual Basic sürümü için ShowDate.vb veya C# sürümü için ShowDate.cs).
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.
İş Parçacığı Güvenliği
GetString(String) yöntemi iş parçacığı güvenlidir.
Ayrıca bkz.
Şunlara uygulanır
GetString(String, CultureInfo)
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
Belirtilen kültür için yerelleştirilmiş dize kaynağının değerini döndürür.
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
Parametreler
- name
- String
Alınacak kaynağın adı.
- culture
- CultureInfo
Kaynağın yerelleştirildiği kültürü temsil eden nesne.
Döndürülenler
Belirtilen kültür için yerelleştirilmiş kaynağın değeri veya null bir kaynak kümesinde bulunamıyorsa name .
Özel durumlar
name parametresi null'dir.
Belirtilen kaynağın değeri bir dize değil.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kültür için kaynak yok. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Açıklamalar
IgnoreCase özelliği, name kaynak adlarıyla karşılaştırılmasının, büyük/küçük harfe duyarsız (varsayılan) mı yoksa büyük/küçük harfe duyarlı mı olduğunu belirler.
Note
GetString yöntemleri listelenenden daha fazla özel durum oluşturabilir. Bunun nedenlerinden biri, bu yöntemin çağırmış olduğu bir yöntemin özel durum oluşturmasıdır. Örneğin, bir uydu bütünleştirme parçası dağıtılırken veya yüklenirken bir hata yapıldığında bir FileLoadException özel durumu fırlatılabilir veya kullanıcı tanımlı bir tür, seri durumdan çıkarılırken kullanıcı tanımlı bir özel durum fırlatırsa bir SerializationException özel durumu fırlatılabilir.
GetString(String) yöntemi
Masaüstü uygulamaları
Masaüstü uygulamalarında döndürülen kaynak, CultureInfo.CurrentUICulture özelliği tarafından tanımlandığı gibi geçerli iş parçacığının kullanıcı arabirimi kültürü için yerelleştirilir. Kaynak bu kültür için yerelleştirilmemişse, kaynak yöneticisi kaynakları paketleme ve dağıtma makalesinin "Kaynak Geri Dönüş İşlemi" bölümünde açıklanan adımları izleyerek kaynağı yoklar. Kullanılabilir yerelleştirilmiş kaynak kümesi bulunmazsa, kaynak yöneticisi varsayılan kültürün kaynaklarına geri döner. Kaynak yöneticisi varsayılan kültürün kaynak kümesini yükleyemiyorsa, yöntemi bir MissingManifestResourceException özel durumu oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa MissingSatelliteAssemblyException özel durumu oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
Example
Aşağıdaki örnek, kültüre özgü kaynakları almak için GetString yöntemini kullanır. İngilizce (en), Fransızca (Fransa) (fr-FR) ve Rusça (Rusya) (ru-RU) kültürleri için .txt dosyalardan derlenen kaynaklardan oluşur. Örnek, geçerli kültürü ve geçerli kullanıcı arabirimi kültürünü İngilizce (ABD), Fransızca (Fransa), Rusça (Rusya) ve İsveççe (İsveç) olarak değiştirir. Ardından yerelleştirilmiş dizeyi almak için GetString yöntemini çağırır ve bu dize geçerli gün ve ay ile birlikte görüntülenir. Çıktının, geçerli kullanıcı arabirimi kültürünün İsveççe (İsveç) olması dışında uygun yerelleştirilmiş dizeyi görüntülediğine dikkat edin. İsveç dili kaynakları kullanılamadığından, uygulama bunun yerine varsayılan kültürün (İngilizce) kaynaklarını kullanır. Örnek, aşağıdaki tabloda listelenen metin tabanlı kaynak dosyalarını gerektirir. Her birinin DateStartadlı tek bir dize kaynağı vardır.
| Kültür | Dosya adı | Kaynak adı | Kaynak değeri |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Bugün |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Bugün, bu |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
C# örneğini derlemek için aşağıdaki toplu iş dosyasını kullanabilirsiniz. Visual Basic için cscvbcolarak değiştirin ve kaynak kod dosyasının uzantısını .cs.vbolarak değiştirin.
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
Örnek için kaynak kodu aşağıda verilmiştir (Visual Basic sürümü için ShowDate.vb veya C# sürümü için ShowDate.cs).
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.
GetString(String, CultureInfo) yöntemi
Masaüstü uygulamaları
Masaüstü uygulamalarında, culturenullise GetString(String, CultureInfo) yöntemi CultureInfo.CurrentUICulture özelliğinden elde edilen geçerli kullanıcı arabirimi kültürünü kullanır.
Döndürülen kaynak, culture parametresi tarafından belirtilen kültür için yerelleştirilir. Kaynak cultureiçin yerelleştirilmemişse, kaynak yöneticisi, Kaynakları Paketleme ve Dağıtma konusunun "Kaynak Geri Dönüş İşlemi" bölümünde açıklanan adımları izleyerek kaynağı yoklar. Kullanılabilir kaynak kümesi bulunmazsa, kaynak yöneticisi varsayılan kültürün kaynaklarına geri döner. Kaynak yöneticisi varsayılan kültürün kaynak kümesini yükleyemiyorsa, yöntemi bir MissingManifestResourceException özel durumu oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa MissingSatelliteAssemblyException özel durumu oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
Example
Aşağıdaki örnek, kültüre özgü kaynakları almak için GetString(String, CultureInfo) yöntemini kullanır. Örneğin varsayılan kültürü İngilizcedir (en) ve Fransızca (Fransa) (fr-FR) ve Rusça (Rusya) (ru-RU) kültürleri için uydu derlemeleri içerir. Örnek, GetString(String, CultureInfo)çağırmadan önce geçerli kültürü ve geçerli kullanıcı arabirimi kültürünü Rusça (Rusya) olarak değiştirir. Ardından GetString yöntemini ve DateTime.ToString(String, IFormatProvider) yöntemini çağırır ve her yönteme Fransızca (Fransa) ve İsveççe (İsveç) kültürlerini temsil eden CultureInfo nesneleri geçirir. Çıktıda, GetString yöntemi Fransızca dil kaynağını alabildiği için, ayın ayı ve gününün yanı sıra onlardan önce gelen dize Fransızca görünür. Ancak İsveççe (İsveç) kültürü kullanıldığında, kendisinden önceki dize İngilizce olmasına rağmen ayın ayı ve günü İsveççe olarak görünür. Bunun nedeni kaynak yöneticisinin yerelleştirilmiş İsveç dili kaynaklarını bulamamasıdır, bu nedenle bunun yerine varsayılan İngilizce kültürü için bir kaynak döndürür.
Örnek, aşağıdaki tabloda listelenen metin tabanlı kaynak dosyalarını gerektirir. Her birinin DateStartadlı tek bir dize kaynağı vardır.
| Kültür | Dosya adı | Kaynak adı | Kaynak değeri |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Bugün |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Bugün, bu |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Visual Basic örneğini derlemek için aşağıdaki toplu iş dosyasını kullanabilirsiniz. C# dilinde derlemek için vbccscolarak değiştirin ve kaynak kod dosyasının uzantısını .vb olarak .csolarak değiştirin.
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
Örnek için kaynak kodu aşağıda verilmiştir (Visual Basic sürümü için ShowDate.vb veya C# sürümü için ShowDate.cs).
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.
İş Parçacığı Güvenliği
GetString(String, CultureInfo) yöntemi iş parçacığı güvenlidir.