我定義了一個枚舉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運算符還真是必不可少!
第一次隨筆,純粹個人之心得。很希望所閱之同仁志士能指缺批漏,也希望對抱著問題來的同學有所幫助。
——by躍動的光子.博客園
新聞熱點
疑難解答