vb点虐 枚举遍历 net 枚举
VB.NET的枚举求教解决方法
这个功能实现起来其实也很简单,就是通过反射做巧去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、房山网站维护、网站推广。
/// summary
/// 返回枚举项的描述信息。
/// /summary
/// param name="value"要获取描述信息的枚举项。/param
/// returns枚举想的描述信息。/returns
public static string GetDescription(Enum value)
{
Type enumType = value.GetType();
// 获取枚举常数名称。
string name = Enum.GetName(enumType, value);
if (name != null)
{
// 获取枚举字段。
FieldInfo fieldInfo = enumType.GetField(name);
if (fieldInfo != null)
{
//粗斗 获取描述的属性。
DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,
typeof(DescriptionAttribute), false) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
}
这段代码还是很容易看懂纯凳键的,这里取得枚举常数的名称使用的是 Enum.GetName() 而不是 ToString(),因为前者更快,而且对于不是枚举常数的值会返回 null,不用进行额外的反射。
当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析。
VB点虐 如何枚举字符串?
Enum Week
周日 = 0
周一 = 1
周二兆胡 = 2
周弯晌三 = 3
周四 = 4
周五 = 5
周埋猜锋六 = 6
End Enum
Sub Main()
Dim myType As Type = GetType(Week)
MsgBox(Week.GetName(myType, Week.周二))
End Sub
了解VB.NET中的常量与枚举
在程粗脊前序运行的过程中始终固定不变的量称为常量 由于在程序设计和开发时经常会反复地运用一些常数 而且它们代表的含义有时候非常难记 所以每次都需要去核对 如果定义了常量将使之简单化 则可提高代码的可读性及可维护性
注意 不可以任意地修改和赋予新的值
vB.NET中常量的来源有两种 由用户利用Const语句自定义 或者是系统预先定义的 可以通过菜单中 视图 一 其他窗口 一 对象浏览器 命令或者是同时按Ctrl+Alt+J组合键就可以打开VB.NET 和VBA对象库中的常数列表 这些常数可以与应用程序的对象 方法和属性一起使用 而且每一个ActiveX控件的对象库也定义了单独的常量
声明常量的语法格式如下
[Public | Private | Friend l Protected | Pr tected Friend | Const常量名[As类型]=表达式
. 常量名 任何有效的符号名
. 表达式 由字符或数值常数以及运算符组成 也可以是结果为数字或者是字符串的表达式 但是表达式中不能够使用函数调用 注意 如果程序中打开了Option strict 则语句需要显式声明常量
. Const语句可以声明表示数量 字符串 时间或者是日期的常量 例如
Const pi= .
Private Const sum as Inteqer=
中使用 枚举类型作用域的声明仍然使用Public Private Protected和岩清Friend 例如
Private Enum months
Public Enum months
Protected Enum months Friend Enum months
Protected Friend Enum months
在默认状态下 中国自学编程网整理发布 枚举中第一野侍个常量便初始化为O 其后面的依次比以前的常量大 也可以通过赋值语句对常量进行赋值 此值可以为任何值 包括负数 例如
Public Enum halfyear
January
February=O
Marth
April
May
June
Invalid=一
End Enum
lishixinzhi/Article/program/net/201311/12105
网站名称:vb点虐 枚举遍历 net 枚举
标题链接:http://scyanting.com/article/ddpiosd.html