Переменная в атрибуте enum: требуется постоянное выражение - PullRequest
0 голосов
/ 11 октября 2019

Мне нужно определить атрибуты enum с помощью переменной. Это будет хорошо работать:

Public Enum CommandsC_e

    <Title("Cmd1")>
    CommandC1

    <Title("Cmd2")>
    CommandC2

End Enum

Но этот код дает мне «требуется постоянное выражение». ошибка:

Dim Title as string = "Test"

Public Enum CommandsC_e

    <Title(Title)>
    CommandC1

    <Title("Cmd2")>
    CommandC2

End Enum

Я где-то читал, что атрибуты enum должны быть известны во время компиляции. Есть ли обходной путь для этого?

1 Ответ

0 голосов
/ 17 октября 2019

Мне удается понять, как заставить это работать. Вам нужно обернуть переменную в модуль, есть пример с полем ввода, в котором указан атрибут enum:

Module Vars

    Property desc As String = InputBox("test", "test", "test")   End Module

End Module

Public Enum CommandsC_e

    <Title(GetType(Vars), NameOf(Vars.desc))>   
    CommandC2

End Enum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...