vb.net中的枚举 vbnet imemode

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里如何把字符串转换为枚举类型?我找到了这样一段处理方法,希望对你有所帮助:
枚举类型如下:
Public Enum ConcertCode
【vb.net中的枚举 vbnet imemode】BEIJING
SHANGHAI
GUANGZHOU
End Enum
如果要将比如“beijing”字符串转换为ConcertCode.BEIJING的话 , 可以通过如下方法:
Dim c As ConcertCode = CType(Enum.Parse(Type.GetType(ConcertCode),字符串的变量,True), ConcertCode)
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中的枚举的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet imemode、vb.net中的枚举的信息别忘了在本站进行查找喔 。

    推荐阅读