il||li _| ̄|○ il||li 激しく狂おしく自己嫌悪 ダッテ ウレシカッタンダモン
というわけで、動的に列挙型を作ってみた。
Sub Main()
Dim sLabel() As String = {"A", "B", "C", "D", "E", "F", "G"}
Dim sValue() As Integer = {1, 2, 4, 8, 16, 32, 64}
Dim newAssem As AssemblyBuilder = Thread.GetDomain.DefineDynamicAssembly(Assembly.GetExecutingAssembly.GetName, AssemblyBuilderAccess.RunAndSave)
Dim newModule As ModuleBuilder = newAssem.DefineDynamicModule(Assembly.GetExecutingAssembly.GetName.ToString)
Dim newEnum As EnumBuilder = newModule.DefineEnum("AlphList",TypeAttributes.Public,GetType(Integer))
For i As Integer = LBound(sLabel) To UBound(sLabel)
newEnum.DefineLiteral(sLabel(i), sValue(i))
Next
newEnum.CreateType()
Dim wStr() As String = [Enum].GetNames(newModule.GetType("AlphList"))
Dim wNum() As Integer = [Enum].GetValues(newModule.GetType("AlphList"))
End Sub
AlphListっていう列挙型を作ったですよ。C#のサンプルはあちこちあったんでそこからウダウダとVB.NETに翻訳コンニャクしつつでしたけれども……
って需要があるのかと聞かれても困るw