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 檔案的名稱。 這是主控台應用程式,可接受主要元件或附屬元件的名稱做為命令行參數。 它會顯示應提供為 baseNameResourceManager(String, Assembly, Type) 建構函式參數的ResourceManager(String, Assembly)字串,讓資源管理員能夠正確識別資源。

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.resourcesBaseName 則屬性值為 「SampleApps.StringResources」。。 如果應用程式的默認資源檔命名 SampleApps.StringResources.en-US.resources 為 ,且內嵌在附屬元件中,屬性的值 BaseName 仍為 “SampleApps.StringResources”。

重要

BaseName從命令行編譯和內嵌的資源檔屬性值不會包含命名空間名稱,除非您在編譯檔案時明確包含命名空間名稱。 另一方面, BaseName 在Visual Studio環境中編譯並內嵌的資源文件屬性值通常包含預設命名空間名稱。

BaseName屬性值與實例具現化ResourceManager時傳遞至 ResourceManager(String, Assembly)ResourceManager(String, Assembly, Type) 建構函式的字串相同。

適用於