我需要编写一个程序,它从dll中读取所有字符串资源并将它们插入到某个表中。我有方法,读取资源:
private static IEnumerable<KeyValuePair<string,string>> getAllResources(ResourceManager resourceManager,
Language language)
{
ResourceSet resourceSet = resourceManager.GetResourceSet(getCulture(language), true, true);
IDictionaryEnumerator dictNumerator = resourceSet.GetEnumerator();
// Get all string resources
while (dictNumerator.MoveNext())
{
// Only string resources
if (dictNumerator.Value is string)
{
var key = (string)dictNumerator.Key;
var value = (string)dictNumerator.Value;
yield return new KeyValuePair<string, string>(key, value);
}
}
}
但是当我开始使用它时,我注意到它还读取了像文件一样添加的资源(读取文件内容)
如何忽略作为“文件”添加的资源,以及只读字符串?
答案 0 :(得分:2)
没有办法做到这一点。 例如,通过Reflector查看组装的资源部分。您的文本文件保存为String。字符串值和文本文件值之间没有区别。
二进制文件不会有问题,因为对于二进制文件类型,你将byte []作为值而不是字符串。