整理自其它博客以及官方文档,笔记性质
首先要引用命名空间:
using System.Resources;
资源文件.resx(如下图所示)可以直接用vs创建到解决方案中,第一个是资源名称,第二个是值,比如一个字符串,第三个注释可以加上说明,默认都是字符串资源。
直接按名称检索可以用ResourceManager、ResXResourceSet类。(实际不止这两种,但是这俩可以不用枚举资源文件中所有内容)如果是调试dll,运行的程序不在当前调试目录,用ResourceManager比较方便,可以不用路径加载。
//ResXResourceSet类
ResXResourceSet resxSet = new ResXResourceSet(@".\TestResources.resx");//打开当前项目下的TestResources.resx资源文件
Console.WriteLine(resxSet.GetObject("a"));//打印名称为a的资源(本文默认全是字符串资源)
Console.WriteLine(resxSet.GetObject("a"), true);//打印名称为a或A的资源,参数2表示是否忽略大小写
Console.WriteLine(resxSet.GetString("a"