【发布时间】:2016-09-19 22:13:53
【问题描述】:
我有一个 C# 应用程序,将我们所有的资源都放在一个库中。这基本上是几个文件夹,每个文件夹中都有一个或多个 .resx 文件。
在大多数情况下,.resx 文件都有字符串资源。少数有文件资源。
我的任务是浏览这些字符串资源并用它们做一些事情。只是字符串,而不是文件。
目前,我可以从单独的 dll 加载资源:
var asm = System.Reflection.Assembly.LoadFrom("External.Resources.dll");
string[] strings = asm.GetManifestResourceNames();
foreach (var s in strings)
{
var rm = new ResourceManager(s, asm);
var rs = rm.GetResourceSet(CultureInfo.CurrentCulture, true, true);
foreach (DictionaryEntry de in rs)
{
var val = de.Value.ToString();
var key = de.Key.ToString();
}
}
不幸的是,我无法判断资源是什么。如果是文件,则 Value 将只包含该文件的文本。
如何检查该值是来自资源文件的字符串还是文件(文本)?
【问题讨论】:
标签: c# embedded-resource