vb.net - 枚举属性中的变量:需要常量表达式
问题描述
我需要用变量定义枚举属性。这将正常工作:
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
我在某处读到枚举属性需要在编译时知道。有解决方法吗?
解决方案
我设法弄清楚如何使这项工作。您需要将变量包装到一个模块中,有一个带有输入框的示例,其中填充了一个枚举属性:
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
推荐阅读
- python - 检查时间值是否在 Python 的 CSV 文件中提到的两个值之间
- sql - 为什么 SQL 不使用双等号 (==) 来表示“A 等于 B”?
- c - 在 C 中使用 openmp 时的数值差异
- jmeter - 我如何使用 JMeter 来支持 250 个用户,同时有 100 个用户
- c++ - 更改文件的第一行并转到最后一行而不丢失数据c ++
- sweetalert2 - 用图像更改图标 sweetalert
- c# - 如何显示保存在 ASP.NET MVC 视图中的图像
- javascript - 如何从具有索引的对象中获取数组作为对象属性之一
- python - 使用 pandas 分析无法在数值数据上分配位图错误
- crash - iOS如何修复间歇性场景套件崩溃?