В нашем проекте мы используем пользовательский API, который предоставляет атрибут для полей / членов класса, который позволяет интерфейсу представлять всплывающее окно некоторых значений диапазона, таких как «Вкл / Выкл», и передавать соответствующие значения выбора в наш код , Атрибут требует строковый массив, чтобы знать эти значения.
У нас есть много перечислений, определенных для этих диапазонов. Мы думаем использовать метод вида Enum.GetValues () для получения строкового массива для этого метода.
Однако, как мы знаем, объявление поля не разрешает динамические значения в объявлении? так же есть ли другие эффективные способы сделать то же самое.
Чтобы прояснить проблему, я напишу примеры ниже;
Текущая рабочая
<RangeLookUp("On:1","Off:2")> Public ASimpleRangeVariable As Integer
Пока я хотел сделать вот так или вроде
<RangeLookUp(SomeMethod())> Public ASimpleRangeVariable As Integer
Public Shared Function SomeMethod() as String()
'use Enum to get all the items as string values forexample Enum.GetValues & enu,.GetValues
'Return array of string
End Function
Где SomeMethod предполагает возвращение строкового массива для передачи в конструкторе RangeLookup. Что означает, что если мы изменим перечисление, нам не нужно обновлять объявление
Этот вопрос может быть странным, и я знаю, что есть лучшие способы сделать это, но из-за некоторого пользовательского API, основание ограничено.