【发布时间】:2010-09-25 19:11:23
【问题描述】:
考虑下面的代码
enum HorizontalAlignment { Left, Middle, Right };
enum VerticleAlignment { Top, Middle, Bottom };
function OutputEnumValues (Type enumType)
{
foreach (string name in Enum.GetNames(typeof(enumType)))
{
Console.WriteLine(name);
}
}
可以这样称呼
OutputEnumValues (typeof(HorizontalAlignment));
OutputEnumValues (typeof(VerticleAlignment ));
但我可能会无意中打电话,例如
OutputEnumValues (typeof(int));
这将在 Enum.GetNames() 处编译但在运行时失败
编写方法签名以在编译时捕获此类问题的任何方式 - 即仅接受 OutputEnumValues 中的枚举类型?
【问题讨论】:
标签: c#