请查看以下代码:
但我可能会不小心调用,比如说:
考虑以下代码
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中的枚举类型?