重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.net枚举的名称 vba 枚举类型

如何获得某个类中所有枚举类型的名称 vb.net

'调用类System.Enum的

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业吉安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

'Public Shared Function GetNames(enumType As Type) As String()

'方法,就可以获取指定枚举类型的所有常数名称

'下面有一个例子

Option Explicit On

Option Strict On

Imports System

Enum Color

Red

Green

Blue

Black

End Enum

Module Program

Sub Main()

For Each en As String In System.Enum.GetNames(GetType(Color))

Console.WriteLine(en)

Next

Console.Write("Press any key to continue . . . ")

Console.ReadKey(True)

End Sub

End Module

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的枚举求教解决方法

这个功能实现起来其实也很简单,就是通过反射去读取 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中,如何枚举一个注册的组件其开放的COM类的接口函数。

为什么增加的回答这么久还没显示。

我想知道你为什么要枚举这些方法,是需要打印出来还是只是为了查看和调用?

1,如果只是为了查看和调用的话,不需要用代码就能知道了。

打开VS,视图-》对象浏览器。然后开了后,点浏览右边的“。。。”,开了后。选COM活页,再在里面选ThunderAgent 1.0 Type Library。再点添加。

添加好之后。在左边的浏览窗口内就有了,展开THUNDERAGENTLib下面有几个类和接口,展开类就有方法了。

2,如果是需要用代码枚举并打印。网上有相关的代码,C#写的。我就不帖了。自己搜一下。改成vb.net相信应该不会太难。

祝你好运。


网站题目:vb.net枚举的名称 vba 枚举类型
当前路径:http://cqcxhl.com/article/dospesj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP