我知道可以存储资源的本地化版本以供应用程序检索。
我想使用类似的原理,将不同版本的数据存储到资源文件/程序集中,然后使用版本作为键来检索这些数据。这可能吗?这是一种常见的技术吗?
我要存储的数据是 UI 控件数据标识。
例如,我将在每个版本中提供多个资源:
Version 1.0 btnID = "thisButton1"
Version 2.0 btnID = "thisButton2"
应用程序将根据当前使用的版本自动确定要获取的资源。
最佳答案
您可以创建一个自定义类来包装对资源的访问并在内部加载正确的资源文件。假设您选择将资源文件命名为 Resources.1.0.0.0.resources
,您可以执行以下操作:
public class ResourceReader
{
private static ResourceManager _resourceManager = new ResourceManager(
"Resources." + System.Reflection.Assembly
.GetExecutingAssembly()
.GetName()
.Version.ToString(),
Assembly.GetExecutingAssembly());
// If you have resource property btnID, you can expose it like this:
public static string BtnID
{
get
{
return _resourceManager.GetString("btnID");
}
}
// you can add other properties for every value in the resource file.
}
您需要做的就是了解您的应用程序的确切版本并确保此类资源文件存在。如果您在程序集信息中启用了自动版本控制(例如使用 1.0.*),这可能会很麻烦。当然,您可以选择不使用整个版本,而只使用主要或主要和次要版本号。
关于c# - 每个版本的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376946/