【发布时间】:2010-12-11 05:50:20
【问题描述】:
(好吧,我就在这里暴露我的无知,请温柔)
背景
我有一个看起来(有点)像这样的方法:
public void AddLink(Enum enumVal)
{
string identifier = m_EnumInterpreter(enumVal);
AddLink(identifier);
}
EnumInterpreter 是一个 Func
我使用 Enum 是因为在这个级别上它“不关我的事”——我不在乎它是哪个特定的枚举。调用代码只是使用(生成的)枚举来避免魔术字符串。
问题
如果 EnumInterpreter 发回一个空字符串,我想用 enumVal 的实际值抛出一个异常。我以为我只能强制转换为 int,但编译器不会拥有它。我究竟做错了什么? (请不要说“一切”)。
【问题讨论】: