ResourceManager使用

可以使用 ResourceManager 类在运行时检索“嵌入的资源”(即已经编译到应用程序或类库中的资源)。ResourceManager 类的每个实例都与一个程序集关联并且管理对嵌入到该程序集中的资源的检索。

检索资源

  1. 创建一个程序集引用,引用包含要访问的资源的程序集。如果尚未加载包含资源的程序集,则必须在此时加载它。
  2. 创建 ResourceManager 类的实例以检索资源。
  3. 指定嵌入文件的基名称并提供对包含资源的程序集的引用。
    注意   嵌入的资源文件的基名称是嵌入了资源文件的命名空间的名称加上不带任何扩展名的文件名。例如,myApplication 命名空间中名为 Resource1.resX 的文件的基名称是 myApplication.Resource1。
  4. 调用 ResourceManager.GetString 方法ResourceManager.GetObject 方法以检索资源。
    • 若要检索“字符串”资源,请调用 GetString 方法。
    • 若要检索其他类型的资源,请调用 GetObject 方法。通过 GetObject 方法检索到的资源必须显式转换成对应的类型。

 demo1:

//  C#
//  Gets a reference to the same assembly that 
//  contains the type that is creating the ResourceManager.
System.Reflection.Assembly myAssembly;
MyAssembly 
=   this .GetType().Assembly;

//  Gets a reference to a different assembly.
System.Reflection.Assembly myOtherAssembly;
myOtherAssembly 
=  System.Reflection.Assembly.Load( " ResourceAssembly " );

//  Creates the ResourceManager.
System.Resources.ResourceManager myManager  =   new  
   System.Resources.ResourceManager(
" ResourceNamespace.myResources "
   myAssembly);

//  Retrieves String and Image resources.
System.String myString;
System.Drawing.Image myImage;
myString 
=  myManager.GetString( " StringResource " );
myImage 
=  (System.Drawing.Image)myManager.GetObject( " ImageResource " );

 

 

demo2:

using System;
using System.Resources;
using System.Threading;
using System.Reflection;
using System.Globalization;
class ResourcesExample 
{
    
public static void Main() 
    
{
        
// Create a resource manager to retrieve resources.
        ResourceManager rm = new ResourceManager("resourceManager.Application"
            Assembly.GetExecutingAssembly());

    
// Get the culture of the currently executing thread.
    
// The value of ci will determine the culture of
    
// the resources that the resource manager retrieves.
    CultureInfo ci = Thread.CurrentThread.CurrentCulture;

    
    
// Retrieve the value of the string resource named 
    
// "welcome", localized for the culture specified by ci.
    String str = rm.GetString("welcome", System.Globalization.CultureInfo.CurrentCulture);
    Console.WriteLine(str);
    }

}

资源文件必须写成,程序集名字.资源文件名不包括扩展名
 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值