C#关于使用枚举遇到的问题----Type运算符使用的必要性
我定义了一个枚举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跃动的光子.博客园
C#关于使用枚举遇到的问题----Type运算符使用的必要性的更多相关文章
- C#中的枚举类型(enum type)
ylbtech 原文 C#中的枚举类型(enum type) 概念 枚举类型(enum type)是具有一组命名常量的独特的值类型.在以下示例中: enum Color { Red, Green, B ...
- iOS开发中 常用枚举和常用的一些运算符(易错总结)
1.色值的随机值: #define kColorValue arc4random_uniform(256)/255.0 // arc4random_uniform(256)/255.0; 求出0.0~ ...
- 【转】掌握java枚举类型(enum type)
原文网址:http://iaiai.iteye.com/blog/1843553 1 背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...
- C#一探究竟——枚举
枚举是值类型而System.Enum却是引用类型的原因 Q:在C#里,我们如何表达枚举类型? A:你可以使用enum关键字(keyword)来声明一个枚举类型(enum type): // Cod ...
- c# 枚举
命名空间: System程序集: mscorlib(mscorlib.dll 中) 定义一个枚举类型 public enum Week { [Description("星期一" ...
- Delphi基本类型--枚举 子界 集合 数组
[plain] view plain copy <strong>根据枚举定义集合 </strong> TMyColor = (mcBlue, mcRed); TMyColorS ...
- c#获取枚举
在实际开发项目中,我们定义了一个枚举,往往我们需要在下拉框或其它地方展示枚举.为了加深印象,也为了帮到有需要的人,我写了一个DEMO. 第一步,我们定义一个枚举: /// <summary> ...
- Java中的枚举类型详解
枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...
- [Android学习笔记]枚举与int的转换
package com.example.enumdemo; import android.app.Activity; import android.os.Bundle; import android. ...
随机推荐
- php开发学习目录
最近有个项目需要使用php,没办法学习吧 本文不适合没有任何语言的初学者,也不适合 php熟练者.只是个人工作中需要的总结 目录 一.环境安装 1.1 apache 简介安装使用等 1.2 php 5 ...
- 黑马程序员—C语言的特点和关键字
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- C语言的简介 一. C语言具有下列特点: C语言既具有低级语言直接操纵硬件的特点,又具有高级语言 ...
- linker command failed with exit code 1
这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...
- 2013 年 —— Facebook 在开源方面的工作介绍
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就已经是我们工程哲学中的一个重要的部分. 现在,我们使用.维护并为大量的主要项目做出了贡献——涉及多种领域如 ...
- [BZOJ 2350] [Poi2011] Party 【Special】
题目链接: BZOJ - 2350 题目分析 因为存在一个 2/3 n 大小的团,所以不在这个团中的点最多 1/3 n 个. 牺牲一些团内的点,每次让一个团内的点与一个不在团内的点抵消删除,最多牺牲 ...
- Delphi XE6 for Android 让手机震动(调用Java的函数)
震动,是调用了 安卓api JNI 里面的 函数 ,这些都是 调用java的 ,如下面的引用, uses FMX.Helpers.Android, Androidapi.JNI.App, A ...
- zabbix 四张大表分区
trends_uint.ibd history history_unit trends CREATE TABLE `trends` ( `itemid` bigint(20) unsigned NOT ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(二)
1. dumpe2fs [-bh] devicename:查询superblock信息.参数:-b:列出保留为坏道的部分:-h:列出superblock的数据,不会列出其他的区段内容. 2. df [ ...
- 【转】android开发中如何结束所有的activity
原文网址:http://java--hhf.iteye.com/blog/1826880 每一个activity都有自己的生命周期,被打开了最终就要被关闭. 四种结束当前的activity方法 //关 ...
- 数学计数原理(Pólya,高精度):SGU 294 He's Circles
He's Circles He wrote n letters "X" and "E" in a circle. He thought that there ...