sob*_*rga 1 c# sql dll sql-server-2008 c#-4.0
我有一个包含三列的SQL表:Id,English和Norwegian.Id是主键.在我的应用程序中,我有一个标志(EN/NO)来决定用于标签的哪种语言,GUI中的按钮++.应用程序每次加载时都会执行select*,应用程序在运行时查找所有必需的值.但是我没有为每个实例加载整个数据集,而是想导出这些值并创建一个dll,这样我就可以在本地存储这些值.
是否有可能创建这个in-code,因此dll会在每次构建时自行更新?或者我必须运行一些外部程序来动态创建ex.一个.cs代码复制/粘贴到我的班级?(我需要能够重新运行该过程,因为每次需要新标签/文本时都会添加行)
到目前为止,我已经考虑过如何构建导出的三个解决方案,但是没有关于如何导出数据的线索:
在静态上下文中保留DataTable的状态,并提供帮助方法来标准化获取值的方式.
创建一个包含每个唯一ID作为method-name的类,以及一个用于决定返回哪个值的参数:
public static class Names
{
public static string 12345(string language)
{
switch (language)
{
case "EN":
return "Hello";
case "NO":
return "Hei";
default:
return "Hello";
}
}
}
Run Code Online (Sandbox Code Playgroud)为ID为键的每种语言创建一个包含可搜索列表的类,并将值(作为值)
ABH*_*ABH 10
为什么不为不同的语言创建不同的资源文件,并根据设置加载适当的文件.你可以通过使用来做到这一点System.Resources.ResourceManager.这篇文章在这里详细解释了这一点.
编辑:以下SO帖子也详细讨论了这个在C#/ WinForms中制作多语言应用程序的最佳实践?