网站首页 > 文章中心 > 其它

vb.net枚举的值

作者:小编 更新时间:2023-09-22 11:29:07 浏览量:24人看过

VB.net如何枚举字符串?

Enum Week

周日 = 0

周一 = 1

End Enum

Sub Main()

Dim myType As Type = GetType(Week)

MsgBox(Week.GetName(myType, Week.周二))

End Sub

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

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

Private Enum duihuaA As Integer

第一个

第二个

第三个

第四个

第五个

第六个

第七个

第八个

调用:

Select case X

case duihuaA.第一个

Return "第一个"

case duihuaA.第二个

Return "第二个"

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

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.net枚举的值相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章