ルートの文字列名で列挙型を参照したい。列挙型メンバーではなく、列挙型を参照したいことに注意してください。
列挙型メンバーをその名前で参照する方法を説明するスタックオーバーフローに関する多くの投稿があります (例: 名前 を指定して列挙型メンバーを取得する方法) が、ルートの名前で列挙型を参照する方法については見つかりませんでした。
さらに明確にするために;
Enum MyEnumA : Quiet : Noisy : End enum
Enum MyEnumB : Big : Small : Gigantic : End enum
Sub Foo(strAction as string)
' Depending on value of strAction, i want to create a list of either MyEnumA or MyEnumB members
' I know i can't do the following, it's just to make clear the direction i'm wanting to go -
Dim lstMembers As New List(Of CType(strAction,[Enum]))
'....
end function
以下の良い提案に従って、これを試しました。
Dim enumType As Type = System.Type.GetType("ExcelInterface.clsBTAnalyseRslts+" & "strAction")
Dim lstFldIndx As New List(Of enumtype) 'Fails to compile this line as doesn't recognize enumtype as defined
ありがとうございました!