vb.net枚举变量 vb枚举算法的程序结构

VB.NET的枚举求教解决方法

这个功能实现起来其实也很简单,就是通过反射去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:

创新互联建站于2013年开始,先为雁塔等服务建站,雁塔等地企业,进行企业商务咨询服务。为雁塔企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

/// 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.net里如何把字符串转换为枚举类型?

我找到了这样一段处理方法,希望对你有所帮助:

枚举类型如下:

Public Enum ConcertCode

BEIJING

SHANGHAI

GUANGZHOU

End Enum

如果要将比如“beijing”字符串转换为ConcertCode.BEIJING的话,可以通过如下方法:

Dim c As ConcertCode = CType(Enum.Parse(Type.GetType(ConcertCode),字符串的变量,True), ConcertCode)

vb.net 能不能枚举字符串?

枚举的值只能是整数,但是枚举常量的名字本身就是字符串啊,举例:

Private Enum weekdays

星期日 = 0

星期一

星期二

星期三

End Enum

然后:

MsgBox(weekdays.星期日) '显示0

MsgBox(weekdays.星期日.ToString) '显示星期日

vb.net中如何调用枚举中的字符串

没有办法直接取枚举名,只能根据枚举值,自己赋值

Private Enum duihuaA As Integer

第一个

第二个

第三个

第四个

第五个

第六个

第七个

第八个

End Enum

调用:

Select case X

case duihuaA.第一个

Return "第一个"

case duihuaA.第二个

Return "第二个"

..............

vb.net中如何定义枚举类型作为对象变量

SQL通常是通过外键。

创建一个状态表包含一个状态栏,存储几个固定的状态。

然后添加到这个表的外键约束。

ALTER TABLE表名WITH CHECK ADD CONSTRAINT fk_status FOREIGN KEY([状态])

[状态]([状态])

VB.net如何枚举字符串?

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枚举算法的程序结构
本文网址:http://scjbc.cn/article/doocisg.html

其他资讯