7045Jeegnesh Ответов: 0

Описание перечисления : не получение значения путем передачи типа перечисления


1 ) it'sen с описанием

Public Enum ActionDrug_list
        <Description("Drug withdrawn")> Drug_withdrawn = 1
        <Description("Drug reduced")> Drug_reduced = 2
        <Description("Drug increased")> Drug_increased = 3
        <Description("Dose not changed")> Dose_not_changed = 4
        <Description("Unknown")> Unknown = 5
        <Description("Not applicable")> Not_applicable = 6
    End Enum 


2) метод вызова путем передачи типа Enum

Public Function GetActionDrugList(Nodevalue As String, type As ConversionTYpe) As String
       Dim ActionDrug As ActionDrug_list

       Return GetStringvalue(ActionDrug, Nodevalue)

    End Function 


3) метод получения значения дескрипции

Private Function GetStringvalue(ByVal EnumName As [Enum], ByVal cmpvalue As String) As String
       Dim items As Array

       Dim Type_ = EnumName.GetType()
       items = System.Enum.GetValues(EnumName.GetType())

       For Index = 0 To items.Length
           Dim description As String = GetEnumDescription(DirectCast(Index, EnumName.GetType()))
       Next Index
       Return ""
   End Function

Но здесь я могу передать Enumname для строки GetEnumDescription
Dim description As String = GetEnumDescription(DirectCast(Index, EnumName.GetType()))

это показывает, что EnumName не является допустимым типом, даже если я пытался получить тип от него через
EnumName.GetType()

есть ли какой-нибудь способ сделать это?

Что я уже пробовал:

Dim description As String = GetEnumDescription(DirectCast(Index, EnumName.GetType()))

0 Ответов