다음을 통해 공유


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입니다.

반환

지정된 문화권의 리소스 집합입니다.

예외

culture 매개 변수가 null인 경우

tryParentstrue이고, 사용할 수 있는 리소스 집합을 찾을 수 없으며 기본 문화권 리소스가 없는 경우

예제

다음 예제에서는 메서드를 GetResourceSet 호출하여 프랑스어(프랑스) 문화권에 대한 문화권별 리소스를 검색합니다. 그런 다음 리소스 집합의 모든 리소스를 열거합니다. ShowNumbers.exe 실행 파일에 대한 소스 코드가 포함되어 있습니다. 또한 숫자 이름을 포함하는 다음 두 개의 텍스트 파일도 포함됩니다. 첫 번째 NumberResources.txt 영어에서 1에서 10까지의 숫자 이름을 포함합니다.

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

두 번째 NumberResources.fr-FR.txt 프랑스어로 1에서 4까지의 숫자 이름을 포함합니다.

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

인수 false값을 createIfNotExists 로 변경하면 메서드 호출은 Resource Manager 프랑스어 리소스를 아직 로드하지 않았기 때문에 를 반환null합니다.

설명

반환되는 리소스 집합은 지정된 문화권에 대해 지역화된 리소스를 나타냅니다. 리소스가 해당 문화권 tryParents 에 대해 지역화되지 않았고 이 인 trueGetResourceSet 경우 리소스 대체 규칙을 사용하여 적절한 리소스를 로드합니다. 가 false 이고 문화권별 리소스 집합을 찾을 수 없는 경우 tryParents 메서드는 를 반환합니다null. 리소스 대체에 대한 자세한 내용은 리소스 패키징 및 배포 문서의 "리소스 대체 프로세스" 섹션을 참조하세요.

적용 대상

추가 정보