다음을 통해 공유


ResourceManager.BaseName 속성

정의

ResourceManager에서 리소스를 검색하는 리소스 파일의 루트 이름을 가져옵니다.

public:
 virtual property System::String ^ BaseName { System::String ^ get(); };
public virtual string BaseName { get; }
member this.BaseName : string
Public Overridable ReadOnly Property BaseName As String

속성 값

ResourceManager에서 리소스를 검색하는 리소스 파일의 루트 이름입니다.

예제

다음 유틸리티를 컴파일하고 실행하여 포함된 .resources 파일의 이름을 확인할 수 있습니다. 기본 어셈블리 또는 위성 어셈블리의 이름을 명령줄 매개 변수로 허용하는 콘솔 앱입니다. 리소스 관리자가 리소스를 올바르게 식별할 수 있도록 또는 ResourceManager(String, Assembly, Type) 생성자의 매개 변수 ResourceManager(String, Assembly)baseName 제공해야 하는 문자열을 표시합니다.

using System;
using System.IO;
using System.Reflection;
using System.Resources;

public class Example
{
   public static void Main()
   {
      if (Environment.GetCommandLineArgs().Length == 1) { 
         Console.WriteLine("No filename.");
         return;
      }
      
      string filename = Environment.GetCommandLineArgs()[1].Trim();
      // Check whether the file exists.
      if (! File.Exists(filename)) {
         Console.WriteLine("{0} does not exist.", filename);
         return;
      }   
      
      // Try to load the assembly.
      Assembly assem = Assembly.LoadFrom(filename);
      Console.WriteLine("File: {0}", filename);
         
      // Enumerate the resource files.
      string[] resNames = assem.GetManifestResourceNames();
      if (resNames.Length == 0)
         Console.WriteLine("   No resources found.");

      foreach (var resName in resNames)
         Console.WriteLine("   Resource: {0}", resName.Replace(".resources", ""));

      Console.WriteLine();
   }
}
Imports System.IO
Imports System.Reflection
Imports System.Resources

Module Example
   Public Sub Main()
      If Environment.GetCommandLineArgs.Length = 1 Then 
         Console.WriteLine("No filename.")
         Exit Sub
      End If
      Dim filename As String = Environment.GetCommandLineArgs(1).Trim()
      ' Check whether the file exists.
      If Not File.Exists(filename) Then
         Console.WriteLine("{0} does not exist.", filename)
         Exit Sub
      End If   
      
      ' Try to load the assembly.
      Dim assem As Assembly = Assembly.LoadFrom(filename)
      Console.WriteLine("File: {0}", filename)
         
      ' Enumerate the resource files.
      Dim resNames() As String = assem.GetManifestResourceNames()
      If resNames.Length = 0 Then
         Console.WriteLine("   No resources found.")
      End If
      For Each resName In resNames
         Console.WriteLine("   Resource: {0}", resName.Replace(".resources", ""))
      Next
      Console.WriteLine()
   End Sub
End Module

설명

속성은 BaseName 정규화된 네임스페이스 이름과 리소스 파일의 루트 리소스 이름을 문화권 또는 파일 이름 확장명 없이 반영합니다. 예를 들어 앱의 기본 리소스 파일 이름이 SampleApps.StringResources.resources인 경우 속성 값 BaseName 은 "SampleApps.StringResources"입니다. 앱의 기본 리소스 파일 이름이 이 SampleApps.StringResources.en-US.resources 고 위성 어셈블리에 포함된 경우 속성 값 BaseName 은 여전히 "SampleApps.StringResources"입니다.

중요

명령줄에서 컴파일되고 포함된 리소스 파일의 속성 값에는 BaseName 파일을 컴파일할 때 명시적으로 네임스페이스 이름을 포함하지 않는 한 네임스페이스 이름이 포함되지 않습니다. 반면에 BaseName Visual Studio 환경 내에서 컴파일되고 포함된 리소스 파일의 속성 값에는 일반적으로 기본 네임스페이스 이름이 포함됩니다.

BaseName 속성 값은 instance 인스턴스화할 ResourceManager(String, Assembly) 때 또는 ResourceManager(String, Assembly, Type) 생성자에 전달된 문자열과 ResourceManager 동일합니다.

적용 대상