这个功能实现起来其实也很简单,就是通过反射去读取 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,不用进行额外的反射。
当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析。
为什么增加的回答这么久还没显示。
我想知道你为什么要枚举这些方法,是需要打印出来还是只是为了查看和调用?
1,如果只是为了查看和调用的话,不需要用代码就能知道了。
打开VS,视图-》对象浏览器。然后开了后,点浏览右边的“。。。”,开了后。选COM活页,再在里面选ThunderAgent 1.0 Type Library。再点添加。
添加好之后。在左边的浏览窗口内就有了,展开THUNDERAGENTLib下面有几个类和接口,展开类就有方法了。
2,如果是需要用代码枚举并打印。网上有相关的代码,C#写的。我就不帖了。自己搜一下。改成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 vba 枚举
网页路径:https://www.cdcxhl.com/article0/dohppoo.html
成都网站建设公司_创新互联,为您提供标签优化、品牌网站建设、外贸建站、企业网站制作、企业建站、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联