ResourceManager.GetString Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan sumber daya string yang ditentukan untuk budaya yang ditentukan atau budaya UI saat ini.
Overload
| Nama | Deskripsi |
|---|---|
| GetString(String) |
Mengembalikan nilai sumber daya string yang ditentukan. |
| GetString(String, CultureInfo) |
Mengembalikan nilai sumber daya string yang dilokalkan untuk budaya yang ditentukan. |
GetString(String)
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
Mengembalikan nilai sumber daya string yang ditentukan.
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
Parameter
- name
- String
Nama sumber daya yang akan diambil.
Mengembalikan
Nilai sumber daya yang dilokalkan untuk budaya UI penelepon saat ini, atau null jika name tidak dapat ditemukan dalam set sumber daya.
Pengecualian
Parameternya name adalah null.
Nilai sumber daya yang ditentukan bukan string.
Tidak ada sekumpulan sumber daya yang dapat digunakan yang ditemukan, dan tidak ada sumber daya untuk budaya default. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Sumber daya budaya default berada di rakitan satelit yang tidak dapat ditemukan. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Keterangan
Properti IgnoreCase menentukan apakah perbandingan name dengan nama sumber daya tidak peka huruf besar/kecil (default) atau peka huruf besar/kecil.
Note
Metode-metode ini GetString dapat melemparkan lebih banyak pengecualian daripada yang tercantum. Salah satu alasan ini mungkin terjadi adalah jika metode yang dipanggil metode ini melemparkan pengecualian. Misalnya, pengecualian FileLoadException mungkin dilemparkan jika kesalahan terjadi saat menerapkan atau menginstal rakitan satelit, atau pengecualian SerializationException mungkin dilemparkan jika tipe yang didefinisikan pengguna melemparkan pengecualian yang didefinisikan pengguna ketika tipe tersebut dideserialisasi.
metode GetString(String)
Aplikasi desktop
Di aplikasi desktop, sumber daya yang dikembalikan dilokalkan dalam budaya UI utas saat ini, seperti yang didefinisikan oleh properti CultureInfo.CurrentUICulture. Jika sumber daya belum dilokalkan untuk lingkungan bahasa tersebut, manajer sumber daya menyelidiki sumber daya dengan mengikuti langkah-langkah yang diuraikan dalam bagian "Proses Cadangan Sumber Daya" dari artikel Mengemas dan Menyebarkan Sumber Daya. Jika tidak ada sekumpulan sumber daya lokal yang dapat digunakan yang ditemukan, resource manager akan kembali pada sumber daya budaya default. Jika resource manager tidak dapat memuat set sumber daya budaya bawaan, metode ini akan melempar pengecualian MissingManifestResourceException atau, jika set sumber daya diharapkan berada di rakitan satelit, pengecualian MissingSatelliteAssemblyException. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name, metode mengembalikan null.
Example
Contoh berikut menggunakan GetString metode untuk mengambil sumber daya khusus budaya. Ini terdiri dari sumber daya yang dikompilasi dari file .txt untuk budaya Inggris (en), Prancis (Prancis) (fr-FR), dan Rusia (Rusia) (ru-RU). Contoh ini mengubah kultur saat ini dan kultur antarmuka pengguna (UI) saat ini menjadi Inggris (Amerika Serikat), Prancis (Prancis), Rusia (Rusia), dan Swedia (Swedia). Kemudian memanggil metode GetString untuk mengambil string yang sudah dilokalisasi dan menampilkannya bersama dengan hari dan bulan saat ini. Perhatikan bahwa output menampilkan string yang dilokalkan yang sesuai kecuali saat budaya UI saat ini adalah bahasa Swedia (Swedia). Karena sumber daya bahasa Swedia tidak tersedia, aplikasi ini menggunakan sumber daya budaya default, yaitu bahasa Inggris. Contoh ini memerlukan file sumber daya berbasis teks yang tercantum dalam tabel berikut. Masing-masing memiliki satu sumber daya string bernama DateStart.
| Budaya | Nama berkas | Nama sumber daya | Nilai sumber daya |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Hari ini adalah |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Hari ini adalah |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Anda dapat menggunakan file batch berikut untuk mengkompilasi contoh C#. Untuk Visual Basic, ubah csc menjadi vbc, dan ubah ekstensi file kode sumber dari .cs menjadi .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
Berikut adalah kode sumber untuk contoh (ShowDate.vb untuk versi Visual Basic atau ShowDate.cs untuk versi 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.
metode GetString(String, CultureInfo)
Aplikasi desktop
Di aplikasi desktop, jika culture adalah null, metode GetString(String, CultureInfo) menggunakan budaya UI saat ini yang didapat dari properti CultureInfo.CurrentUICulture.
Sumber daya yang dikembalikan dilokalkan untuk budaya yang ditentukan oleh culture parameter . Jika sumber daya belum dilokalkan untuk culture, manajer sumber daya memeriksa sumber daya dengan mengikuti langkah-langkah yang diuraikan di bagian "Proses Fallback Sumber Daya" dari topik Pengemasan dan Penyebaran Sumber Daya . Jika tidak ada sekumpulan sumber daya yang dapat digunakan yang ditemukan, resource manager akan kembali pada sumber daya budaya default. Jika resource manager tidak dapat memuat set sumber daya budaya bawaan, metode ini akan melempar pengecualian MissingManifestResourceException atau, jika set sumber daya diharapkan berada di rakitan satelit, pengecualian MissingSatelliteAssemblyException. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name, metode mengembalikan null.
Example
Contoh berikut menggunakan GetString(String, CultureInfo) metode untuk mengambil sumber daya khusus budaya. Contoh budaya default adalah bahasa Inggris (en), dan mencakup rakitan satelit untuk budaya Prancis (Prancis) (fr-FR) dan Rusia (Rusia) (ru-RU). Contoh mengubah budaya saat ini dan budaya UI saat ini menjadi Rusia (Rusia) sebelum memanggil GetString(String, CultureInfo). Kemudian memanggil metode GetString dan metode DateTime.ToString(String, IFormatProvider) serta mengoper objek CultureInfo yang mewakili kultur Prancis (Prancis) dan Swedia (Swedia) ke setiap metode. Dalam output, bulan dan hari dalam sebulan serta string yang mendahuluinya muncul dalam bahasa Prancis, karena GetString metode ini dapat mengambil sumber daya bahasa Prancis. Namun, ketika budaya Swedia (Swedia) digunakan, bulan dan hari muncul dalam bahasa Swedia, meskipun string yang mendahuluinya adalah dalam bahasa Inggris. Ini karena manajer sumber daya tidak dapat menemukan sumber daya bahasa Swedia yang dilokalkan, sehingga mengembalikan sumber daya untuk budaya bahasa Inggris default sebagai gantinya.
Contoh ini memerlukan file sumber daya berbasis teks yang tercantum dalam tabel berikut. Masing-masing memiliki satu sumber daya string bernama DateStart.
| Budaya | Nama berkas | Nama sumber daya | Nilai sumber daya |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Hari ini adalah |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Hari ini adalah |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Anda dapat menggunakan file batch berikut untuk mengkompilasi contoh Visual Basic. Untuk mengkompilasi di C#, ubah vbc ke csc, dan ubah ekstensi file kode sumber dari .vb ke .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
Berikut adalah kode sumber untuk contoh (ShowDate.vb untuk versi Visual Basic atau ShowDate.cs untuk versi 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.
Keamanan Thread
Metode GetString(String) ini aman untuk utas.
Lihat juga
Berlaku untuk
GetString(String, CultureInfo)
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
Mengembalikan nilai sumber daya string yang dilokalkan untuk budaya yang ditentukan.
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
Parameter
- name
- String
Nama sumber daya yang akan diambil.
- culture
- CultureInfo
Objek yang mewakili budaya tempat sumber daya dilokalkan.
Mengembalikan
Nilai sumber daya yang dilokalkan untuk budaya yang ditentukan, atau null jika name tidak dapat ditemukan dalam set sumber daya.
Pengecualian
Parameternya name adalah null.
Nilai sumber daya yang ditentukan bukan string.
Tidak ada sekumpulan sumber daya yang dapat digunakan yang ditemukan, dan tidak ada sumber daya untuk budaya default. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Sumber daya budaya default berada di rakitan satelit yang tidak dapat ditemukan. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Keterangan
Properti IgnoreCase menentukan apakah perbandingan name dengan nama sumber daya tidak peka huruf besar/kecil (default) atau peka huruf besar/kecil.
Note
Metode-metode ini GetString dapat melemparkan lebih banyak pengecualian daripada yang tercantum. Salah satu alasan ini mungkin terjadi adalah jika metode yang dipanggil metode ini melemparkan pengecualian. Misalnya, pengecualian FileLoadException mungkin dilemparkan jika kesalahan terjadi saat menerapkan atau menginstal rakitan satelit, atau pengecualian SerializationException mungkin dilemparkan jika tipe yang didefinisikan pengguna melemparkan pengecualian yang didefinisikan pengguna ketika tipe tersebut dideserialisasi.
metode GetString(String)
Aplikasi desktop
Di aplikasi desktop, sumber daya yang dikembalikan dilokalkan dalam budaya UI utas saat ini, seperti yang didefinisikan oleh properti CultureInfo.CurrentUICulture. Jika sumber daya belum dilokalkan untuk lingkungan bahasa tersebut, manajer sumber daya menyelidiki sumber daya dengan mengikuti langkah-langkah yang diuraikan dalam bagian "Proses Cadangan Sumber Daya" dari artikel Mengemas dan Menyebarkan Sumber Daya. Jika tidak ada sekumpulan sumber daya lokal yang dapat digunakan yang ditemukan, resource manager akan kembali pada sumber daya budaya default. Jika resource manager tidak dapat memuat set sumber daya budaya bawaan, metode ini akan melempar pengecualian MissingManifestResourceException atau, jika set sumber daya diharapkan berada di rakitan satelit, pengecualian MissingSatelliteAssemblyException. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name, metode mengembalikan null.
Example
Contoh berikut menggunakan GetString metode untuk mengambil sumber daya khusus budaya. Ini terdiri dari sumber daya yang dikompilasi dari file .txt untuk budaya Inggris (en), Prancis (Prancis) (fr-FR), dan Rusia (Rusia) (ru-RU). Contoh ini mengubah kultur saat ini dan kultur antarmuka pengguna (UI) saat ini menjadi Inggris (Amerika Serikat), Prancis (Prancis), Rusia (Rusia), dan Swedia (Swedia). Kemudian memanggil metode GetString untuk mengambil string yang sudah dilokalisasi dan menampilkannya bersama dengan hari dan bulan saat ini. Perhatikan bahwa output menampilkan string yang dilokalkan yang sesuai kecuali saat budaya UI saat ini adalah bahasa Swedia (Swedia). Karena sumber daya bahasa Swedia tidak tersedia, aplikasi ini menggunakan sumber daya budaya default, yaitu bahasa Inggris. Contoh ini memerlukan file sumber daya berbasis teks yang tercantum dalam tabel berikut. Masing-masing memiliki satu sumber daya string bernama DateStart.
| Budaya | Nama berkas | Nama sumber daya | Nilai sumber daya |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Hari ini adalah |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Hari ini adalah |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Anda dapat menggunakan file batch berikut untuk mengkompilasi contoh C#. Untuk Visual Basic, ubah csc menjadi vbc, dan ubah ekstensi file kode sumber dari .cs menjadi .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
Berikut adalah kode sumber untuk contoh (ShowDate.vb untuk versi Visual Basic atau ShowDate.cs untuk versi 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.
metode GetString(String, CultureInfo)
Aplikasi desktop
Di aplikasi desktop, jika culture adalah null, metode GetString(String, CultureInfo) menggunakan budaya UI saat ini yang didapat dari properti CultureInfo.CurrentUICulture.
Sumber daya yang dikembalikan dilokalkan untuk budaya yang ditentukan oleh culture parameter . Jika sumber daya belum dilokalkan untuk culture, manajer sumber daya memeriksa sumber daya dengan mengikuti langkah-langkah yang diuraikan di bagian "Proses Fallback Sumber Daya" dari topik Pengemasan dan Penyebaran Sumber Daya . Jika tidak ada sekumpulan sumber daya yang dapat digunakan yang ditemukan, resource manager akan kembali pada sumber daya budaya default. Jika resource manager tidak dapat memuat set sumber daya budaya bawaan, metode ini akan melempar pengecualian MissingManifestResourceException atau, jika set sumber daya diharapkan berada di rakitan satelit, pengecualian MissingSatelliteAssemblyException. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name, metode mengembalikan null.
Example
Contoh berikut menggunakan GetString(String, CultureInfo) metode untuk mengambil sumber daya khusus budaya. Contoh budaya default adalah bahasa Inggris (en), dan mencakup rakitan satelit untuk budaya Prancis (Prancis) (fr-FR) dan Rusia (Rusia) (ru-RU). Contoh mengubah budaya saat ini dan budaya UI saat ini menjadi Rusia (Rusia) sebelum memanggil GetString(String, CultureInfo). Kemudian memanggil metode GetString dan metode DateTime.ToString(String, IFormatProvider) serta mengoper objek CultureInfo yang mewakili kultur Prancis (Prancis) dan Swedia (Swedia) ke setiap metode. Dalam output, bulan dan hari dalam sebulan serta string yang mendahuluinya muncul dalam bahasa Prancis, karena GetString metode ini dapat mengambil sumber daya bahasa Prancis. Namun, ketika budaya Swedia (Swedia) digunakan, bulan dan hari muncul dalam bahasa Swedia, meskipun string yang mendahuluinya adalah dalam bahasa Inggris. Ini karena manajer sumber daya tidak dapat menemukan sumber daya bahasa Swedia yang dilokalkan, sehingga mengembalikan sumber daya untuk budaya bahasa Inggris default sebagai gantinya.
Contoh ini memerlukan file sumber daya berbasis teks yang tercantum dalam tabel berikut. Masing-masing memiliki satu sumber daya string bernama DateStart.
| Budaya | Nama berkas | Nama sumber daya | Nilai sumber daya |
|---|---|---|---|
| en-US | DateStrings.txt | DateStart |
Hari ini adalah |
| fr-FR | DateStrings.fr-FR.txt | DateStart |
Hari ini adalah |
| ru-RU | DateStrings.ru-RU.txt | DateStart |
Сегодня |
Anda dapat menggunakan file batch berikut untuk mengkompilasi contoh Visual Basic. Untuk mengkompilasi di C#, ubah vbc ke csc, dan ubah ekstensi file kode sumber dari .vb ke .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
Berikut adalah kode sumber untuk contoh (ShowDate.vb untuk versi Visual Basic atau ShowDate.cs untuk versi 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.
Keamanan Thread
Metode GetString(String, CultureInfo) ini aman untuk utas.