ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) 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.
Mengambil set sumber daya untuk budaya tertentu.
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
Parameter
- culture
- CultureInfo
Budaya yang sumber dayanya akan diambil.
- createIfNotExists
- Boolean
true
untuk memuat set sumber daya, jika belum dimuat; jika tidak, false
.
- tryParents
- Boolean
true
untuk menggunakan fallback sumber daya untuk memuat sumber daya yang sesuai jika set sumber daya tidak dapat ditemukan; false
untuk melewati proses fallback sumber daya.
Mengembalikan
Kumpulan sumber daya untuk budaya yang ditentukan.
Pengecualian
Parameternya culture
adalah null
.
tryParents
adalah true
, tidak ada sekumpulan sumber daya yang dapat digunakan yang ditemukan, dan tidak ada sumber daya budaya default.
Contoh
Contoh berikut memanggil GetResourceSet metode untuk mengambil sumber daya khusus budaya untuk budaya Prancis (Prancis). Kemudian menghitung semua sumber daya dalam set sumber daya. Ini berisi kode sumber untuk executable bernama ShowNumbers.exe. Ini juga mencakup dua file teks berikut yang berisi nama angka. Yang pertama, NumberResources.txt, berisi nama-nama angka dari satu hingga sepuluh dalam bahasa Inggris:
one=one
two=two
three=three
four=four
five=five
six=six
seven=seven
eight=eight
nine=nine
ten=ten
Yang kedua, NumberResources.fr-FR.txt, berisi nama-nama angka dari satu hingga empat dalam bahasa Prancis:
one=un
two=deux
three=trois
four=quatre
Anda dapat menggunakan file batch untuk menghasilkan file sumber daya, menyematkan file sumber daya bahasa Inggris ke dalam executable, dan membuat rakitan satelit untuk sumber daya bahasa Prancis. Berikut adalah file batch untuk menghasilkan executable dengan menggunakan pengkompilasi 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
Untuk pengkompilasi C#, Anda dapat menggunakan file batch berikut:
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: ''
Perhatikan bahwa jika Anda mengubah nilai createIfNotExists
argumen menjadi false
, panggilan metode mengembalikan null
, karena Resource Manager belum memuat sumber daya bahasa Prancis.
Keterangan
Kumpulan sumber daya yang dikembalikan mewakili sumber daya yang dilokalkan untuk budaya yang ditentukan. Jika sumber daya belum dilokalkan untuk budaya tersebut dan tryParents
, true
GetResourceSet menggunakan aturan fallback sumber daya untuk memuat sumber daya yang sesuai. Jika tryParents
adalah false
dan set sumber daya khusus budaya tidak dapat ditemukan, metode mengembalikan null
. Untuk informasi selengkapnya tentang fallback sumber daya, lihat bagian "Proses Fallback Sumber Daya" di artikel Mengemas dan Menyebarkan Sumber Daya .