成都网站建设设计

将想法与焦点和您一起共享

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.NET的数据类型转换方式主要有哪几种?

CType 函数

任何数据类型

必须在两种数据类型之间定义扩大转换或收缩转换

引发 InvalidCastException

DirectCast

任何数据类型

一个类型必须继承自或者实现另一个类型

引发 InvalidCastException

TryCast

仅引用类型

一个类型必须继承或者实现另一个类型

返回 Nothing (Visual Basic)

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枚举类型转换 枚举类型转换为整型
当前链接:http://chengdu.cdxwcx.cn/article/dodhdss.html