ResourceManager.GetResourceSet(CultureInfo, Boolean, Boolean) 方法

定義

擷取特定文化特性設定的資源。

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

參數

culture
CultureInfo

要擷取其資源的文化特性。

createIfNotExists
Boolean

要載入尚未載入的資源集合則為 true;否則為 false

tryParents
Boolean

true 表示如果找不到資源集時,就要使用資源後援來載入適當的資源;false 表示要略過資源後援程序。

傳回

ResourceSet

所指定文化特性的資源集。

例外狀況

culture 參數為 null

tryParentstrue,找不到一組可用的資源,也沒有預設文化特性資源。

範例

下列範例會呼叫 GetResourceSet 方法來擷取法文 (法國) 文化特性的特定文化特性資源。 然後它會列舉資源集中的所有資源。 它包含名為 ShowNumbers.exe 之可執行檔的原始程式碼。 它也包含下列兩個文字檔,其中包含數位的名稱。 第一個NumberResources.txt包含英文中一到十的數位名稱:

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

第二個NumberResources.fr-FR.txt包含法文語言中一到四的數位名稱:

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

您可以使用批次檔來產生資源檔、將英文語言資源檔內嵌至可執行檔,以及建立法文語言資源的附屬元件。 以下是使用 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

針對 C# 編譯器,您可以使用下列批次檔:

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

請注意,如果您將 引數的值 createIfNotExists 變更為 false ,則方法呼叫會傳 null 回 ,因為Resource Manager尚未載入法文語言資源。

備註

傳回的資源集代表針對指定文化特性當地語系化的資源。 如果資源尚未針對該文化特性進行當地語系化,且 tryParentstrueGetResourceSet 請使用資源後援規則來載入適當的資源。 如果 為 tryParents false 且找不到特定文化特性的資源集,則方法會傳 null 回 。 如需資源後援的詳細資訊,請參閱 封裝和部署資源 一文中的一節。

適用於

另請參閱