资源的使用----实例分析

Posted Mr.He多多指教

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资源的使用----实例分析相关的知识,希望对你有一定的参考价值。

resourceRelationInfo.xml

该xml的作用:我们在程序运行的时候,需要把需要的资源先加载进来。加载资源的方法,写在LocalMessageManager中,

 

 

 

资源文件的位置如下图:

 

 

 

 资源文件的样子:

 ResourceManager类[元数据]

   GetString(string name,CultureInfo culture)

   GetString(string name)

这两个方法的作用是:通过资源文件(.resx)中的名称,如下图中的maintenance_logReceive_receiveStopped,来获得资源文件中对应的值(已停止接收)。

 

 

 

 

 

 

 

 

 

 

 

 

加载资源中的内容:

我们首先写一个类LocalMessageManager,该类有两个重要的函数,和一个重要的属性:

属性

    1.private static Dictionary<String,LocalResourceManager> relations = new Dictionary<String,LocalResourceManager>();

  //该字典的key存储的是resourceRelationInfo.xml中的keyPrefix,value是所对应的LocalResourceManager()

函数

    1.加载指定程序集中的资源,或者说注册指定程序集中的资源

    2.按照资源名称,获得对应资源的值

 

 

 

加载/注册资源的函数:

public void RegResourceRelation(Assembly assembly);

@Param:Assembly assembly,所要注册的资源所在的程序集

读取resourceRelationInfo.xml(图一),分析每个resourceRelationItem节点,获取每个resourceRelationItem节点的assemblyName属性值,和注册资源函数中的参数Assembly assembly的名字(assembly.GetName().Name)进行对比,如果对比成功(相等),则获取这个节点的keyPrefix属性值。并添加到一个列表keyList中。

对节点循环遍历分析完成后。如果keyList属性大于0,我们创建一个LocalResourceManeger的类对象,我们把每一个keyList的值作为字典relations的key,而这个对象作为value(注意:并不是为每一个keyList的值,都创建一个LocalResourceManeger的类对象,一共只有一个)。

ResourceManager类中有一个GetString(string name);方法,参数为资源名字。

 

以上是关于资源的使用----实例分析的主要内容,如果未能解决你的问题,请参考以下文章

放大:如何删除 Auth 并使用 Api 资源添加新的 Auth 资源。错误模板错误:Fn::GetAtt 实例引用未定义资源

使用KRPano资源分析工具一键下载全景网站切片图

zabbix监控 openstack 的实例的资源使用情况

使用KRPano资源分析工具还原全景图片

分析Linux上长时间运行的进程的资源使用情况——CPU、内存、硬盘驱动器?

Android应用程序如何使用Internet资源?