【发布时间】:2011-05-20 00:23:39
【问题描述】:
我有一个包含一大堆值的枚举(这里只显示了三个):
public enum LookupType
{
Alignment,
Language,
ReEmbedBehavior
}
然后我有一个基于名为 LookupType 的 varchar 字段获取数据的方法...我想要将此方法的调用者限制为仅数据库中的查找类型...所以在我的 WHERE 末尾子句,我希望枚举名称为字符串,而不是它的整数值。
然后调用者会执行 GetLookupsByLookupType(LookupType.Language) 之类的操作,而我的方法会将调用设为“where lookuptype = 'Language'”
public List<Lookup> GetLookupsByLookupType(UnicornMedia.Core.DomainModel.Enumerations.LookupType lookupType)
{
var lookups = new List<Lookup>();
string SQL = String.Format(@"Select id, name, value, lookuptype
from lookups
where lookuptype = '{0}'", lookupType.ToString());
...<snip>...
}
这可能很简单,但我似乎不时遇到这个问题,而不是弄清楚,我最终只是使用字典......无论如何,它就是,谢谢
【问题讨论】:
-
你确定 ToString() 没有给你名字吗?
-
不,我不确定,但碰巧我无法在签入之前进行调试或测试,所以我需要确保我做对了
-
在签入之前不进行测试或调试?这听起来根本不对……
-
@JBenjamin,相信我,它有效 :)
-
查看 SnippetCompiler (sliver.com/dotnet/SnippetCompiler) 之类的工具 - 让您对 C# 进行简短的 sn-p 尝试,无需 Visual Studio 的所有开销!绝对无价的......