2015-09-16 83 views
1

我想將一個可選的枚舉函數傳遞給函數,但無法獲得正確的語法。我嘗試以下操作:在VB.NET中傳遞一個可選的枚舉函數

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As [Enum] = MyEnumName.EnumVariable) As Boolean 

也試過:

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As [Enum] = MyEnumName) As Boolean 

並獲得

「轉換,從‘MyEnumName’到‘System.Enum’不能在一個常量表達式出現錯誤信息「

是否有可能有可選的枚舉或我做錯了什麼?

在此先感謝

+1

爲了澄清,你是否試圖將實際的_enum type_傳遞給該函數,或者enum_的_value? –

+0

實際的枚舉。 –

+0

我想你需要使用'[Enum] .MyEnumName'而不是'MyEnumName' –

回答

3

Enum小號打交道,你必須相當指定類型給定的名稱不是[Enum]。示例代碼:

Public Enum MyEnumName 
    val1 
    val2 
End Enum 

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As MyEnumName = MyEnumName.val1) As Boolean 

End Function 
+0

完美!謝謝@varocarbas –

+0

@ShaunMorehammeredDenovan不客氣。 – varocarbas