我已经开始搜索我的需求,但没有成功。
假设我有一张看起来像这样的表:
ID | KeyId |名称|描述
1 | 153 |货币| XXXXXXXX
2 | 68 |签名| YYYYYYYY
3 | 983 |联系| ZZZZZZZZ
现在我想要不是通过集合访问这些值,因为我不记得所有的值,让我们说出名字。
所以这是不我想要的: Values.Where(v => v.Name ==“Currency”)。选择(v => v.KeyId);
表格内容很少变化,但仍然不是一个很好的解决方案,它有一个包含所有“名称”的结构并且像这样得到KeyId。
struct Values
{
public static int Currency
{
get { return GetKeyId("Currency"); }
}
}
我正在寻找一种解决方案,可以在此表中创建自动属性。这样我就可以使用intellisense访问KeyId。正如您在ASP.NET中的资源一样。只要在RESX文件中添加新条目,类就会自动更新。
例如: Values.Currency ,这会让我回到相应的KeyId。
感谢您的回复
答案 0 :(得分:0)
我相信这个功能已在C#4.0中添加(尚未发布),在Microsoft PDC上宣布。但是,即使该解决方案也可能无法为您尚未明确键入的任何内容提供Intellisense(因为如果您考虑它,Intellisense将无法帮助您键入将来可能添加的值)。
在此之前,标准做法是使用字典和/或枚举(但字典将要求您键入字符串,并且Enum不会自动更新,或者两者都使用Enum作为字典的键获得intellisence帮助)。
答案 1 :(得分:0)
我为我找到了完美的解决方案=> T4模板
通过这个功能,我可以遍历我的表并为每一行创建属性,非常好。
你去了:
Example how to work with T4
T4 Editor - Free
Infos to T4 Editor