我试图设置enum
并且数据库中的所有内容都是描述。
public enum testcode
<Description("T60")> passed
end enum
使用它,它会出错。
tcode = CType(System.Enum.Parse(GetType(testcode),tstcode),testcode)
如何仅使用T60的desc设置tcode?我无法改变枚举或数据库的任何内容。
答案 0 :(得分:0)
您需要使用reflection来实现此目的。
GetType&gt; GetFields&gt; GetCustomAttributes
以下是使用LINQ
的示例:
的
Imports System.Reflection
Public Enum TestCode
<Description("T60")> Passed
End Enum
Dim tcode As TestCode = (
From field As FieldInfo In GetType(TestCode).GetFields()
From attribute As DescriptionAttribute In CType(field.GetCustomAttributes(GetType(DescriptionAttribute), False), DescriptionAttribute())
Where attribute.Description = "T60"
Select CType(field.GetValue(Nothing), TestCode)
).FirstOrDefault()