读书人

如何在程序中得到枚举成员的注释

发布时间: 2012-01-29 21:39:32 作者: rapoo

怎么在程序中得到枚举成员的注释?
例如一个下面这样的枚举,怎么可以得到各个枚举成员的注释
Public Enum Enu_ACode_Type

' ' ' <summary>
' ' '行政区域编码
' ' ' </summary>
' ' ' <remarks> </remarks>
REGION_INFO = 1

' ' ' <summary>
' ' '组织单位类型
' ' ' </summary>
' ' ' <remarks> </remarks>
ENTERPRISE_TYPE = 2
end enum



[解决办法]
XML文档注释并未被编译.
[解决办法]
注释是不好取到,但是可以把其改用Description:

public enum Enu_ACode_Type
{
[Description( "行政区域编码 ")]
REGION_INFO = 1,
[Description( "组织单位类型 ")]
ENTERPRISE_TYPE = 2
}

Type t = typeof(Enu_ACode_Type);
MemberInfo[] myMembers = t.GetMembers();

for (int i = 0; i < myMembers.Length; i++)
{
DescriptionAttribute[] myAttributes = (DescriptionAttribute[])myMembers[i].GetCustomAttributes(typeof(DescriptionAttribute), true);
if (myAttributes.Length > 0)
{
Console.WriteLine( "\n成员 {0} are: \n ", myMembers[i]);
for (int j = 0; j < myAttributes.Length; j++)
Console.WriteLine( "属性值 {0}. ", myAttributes[j].Description);
}
}

读书人网 >VB Dotnet

热点推荐