簡體   English   中英

VS2017 / VB.NET:將枚舉計數分配給常量

[英]VS2017/VB.NET: Assign an Enum Count to Constant

無法將Enum ... length指定為常量

Public Const myConst As UShort = [Enum].GetNames(GetType(myEnum)).Length

錯誤:給出錯誤“需要常量表達式”。

我有其他策略,所以獲得預期的效果不是問題。 [雖然如果有人知道如何直接從枚舉中獲取值到常量而不是創建只讀屬性,那將是非常了不起的。 我不想手動計算枚舉值,然后將總數硬編碼為常量。

但我只是好奇為什么這個表達式無效VB。 我認為枚舉的長度是在編譯時固定的(是嗎?)因此是const語句的合法RHS嗎?

謝謝。

需要在運行時計算長度,特別是因為GetName是在運行時執行的。

我建議你改用ReadOnly。

Public ReadOnly myConst As UShort = [Enum].GetNames(GetType(myEnum)).Length

如果你需要它共享,它也是可能的

Public Shared ReadOnly myConst As UShort = [Enum].GetNames(GetType(myEnum)).Length

此外,我認為你有Option Strict Off,因為.Length是一個整數。 我強烈建議你打開它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM