vb.net里如何把字符串转换为枚举类型?我找到vb.net枚举转整了这样一段处理方法vb.net枚举转整 , 希望对你有所帮助:
枚举类型如下:
Public Enum ConcertCode
【vb.net枚举转整 vb枚举类型】BEIJING
SHANGHAI
GUANGZHOU
End Enum
如果要将比如“beijing”字符串转换为ConcertCode.BEIJINGvb.net枚举转整的话,可以通过如下方法:
Dim c As ConcertCode = CType(Enum.Parse(Type.GetType(ConcertCode),字符串的变量,True), ConcertCode)
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如何枚举字符串?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枚举类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 大师战略类游戏,大战略类手游
- 用友t6和erp系统有什么区别,用友t6跟用友u8有什么区别
- ios怎么定时拍摄,ios怎么定时拍摄抖音视频
- 怎么借助别的手机充电,怎么用手机给别人的手机充电
- vb.net字符编码 vbnet stringformat
- 微信小程序的js引擎是否统一,微信小程序js的存在和意义
- jsc语言互相调用方法,js怎么调用c语言写的dll
- 阿里云服务器连接,阿里云服务器连接不稳定
- java八皇后代码 python八皇后代码