Wie füge ich das <Flags> Attribut einem dynamisch erstelltem Enum hinzu?
Habe bereits
eb.SetCustomAttribute(New CustomAttributeBuilder(GetType(FlagsAttribute).GetConstructor(Type.EmptyTypes), New Object() {}))
probiert, hat aber nicht geklappt.
Der Codeausschnitt:
Habe bereits
eb.SetCustomAttribute(New CustomAttributeBuilder(GetType(FlagsAttribute).GetConstructor(Type.EmptyTypes), New Object() {}))
probiert, hat aber nicht geklappt.
Der Codeausschnitt:
VB.NET-Quellcode
- Dim currentDomain As AppDomain = AppDomain.CurrentDomain
- Dim aName As AssemblyName = New AssemblyName("TempAssembly")
- Dim ab As AssemblyBuilder = currentDomain.DefineDynamicAssembly( _
- aName, AssemblyBuilderAccess.RunAndSave)
- Dim mb As ModuleBuilder = _
- ab.DefineDynamicModule(aName.Name, aName.Name & ".dll")
- Dim eb As EnumBuilder = mb.DefineEnum("Test", TypeAttributes.Public, GetType(Integer))
- eb.SetCustomAttribute(New CustomAttributeBuilder(GetType(FlagsAttribute).GetConstructor(Type.EmptyTypes), New Object() {}))
- For Each item In elements
- eb.DefineLiteral(item.Split(";"c)(0), Integer.Parse(item.Split(";"c)(1)))
- Next
- Dim finished As Type = eb.CreateType()
- ab.Save(aName.Name & ".dll")