189 8069 5689

vb.net反射 vbnet反射

VB.NET的枚举求教解决方法

这个功能实现起来其实也很简单,就是通过反射去读取 DescriptionAttribute 的 Description 属性的值,代码如下所示:

创新互联是一家专业提供扶余企业网站建设,专注与成都做网站、成都网站建设、成都h5网站建设、小程序制作等业务。10年已为扶余众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

/// 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,不用进行额外的反射。

当然,这段代码仅是一个简单的示例,接下来会进行更详细的分析。

c#/vb.net如何通过反射获得颜色名称(字符串)对应的颜色(Color类型)?

public Color col(string colorName)

{

Type colorType = typeof(Color);

PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);

if (infos == null)

{

//throw Exception

}

return(Color)info.GetValue(null, null);

}

是这个意思么?输入“Red”, 返回Color.Red 区分大小写

请教关于vb.net(最好)或c#接口实现和反射的问题。

当然可以,

A已知dll的路径和文件名,但不知里面的类名,只知道里面必定有某类实现了接口I

可以让B设计一个方法,返回这个接口I

这样A的程序里面通过调用B的这个方法,来得到自己需要的接口实现类对象

vb.net制作的Excel文件 未捕获通过反射调用的方法而引发的异常

在你机器上没问题那就是运行环境的问题了 你发布的时候是不是把检测到的依赖项全打包进去啦?


网页标题:vb.net反射 vbnet反射
URL网址:http://cdxtjz.com/article/hhhgpi.html

其他资讯