你的位置:首页 > ASP.net教程

[ASP.net教程]C#关于使用枚举遇到的问题


我定义了一个枚举AttributeName

然后写到下面代码:

Enum .GetValues (AttributeName );

毫无疑问的错了。别人说要加个Typeof

也就是Enum .GetValues (Typeof(AttributeName ));

那么问题来了,为什么要使用Typeof运算符?

Typeof(xx)表示返回xx类型的一个对象,Typeof(AttributeName )就是返回了一个AttributeName类型的对象.

(参考链接 https://msdn.microsoft.com/zh-cn/library/58918ffs)

也就是说这里的AttributeName并不是个对象,只是个名字或者说是个AttributeName类型(对于枚举来说都是一样的)!对于枚举来说都是一样的。

而仔细参阅GetValues()方法的参数信息显示是这样的:

public static Array GetValues(	Type enumType)
要求参数是
Type enumType 即 枚举类型的对象!没错是对象,y由此看来
处理枚举相关问题,Typeof运算符还真是必不可少!

第一次随笔,纯粹个人之心得很希望所阅之同仁志士能指缺批漏,也希望对抱着问题来的同学有所帮助。