1
私の目的は、フォルダ内のDLLを列挙し、特定のインターフェイスに準拠しているクラスを探し、それらのクラスに列挙型の値を照会することです。私は、「結果」の可能性がサポートされているかどうかを質問したいと考えています。外部アセンブリのEnum値を反映する
私は自分のDLLを並べて、正しいインターフェイスに準拠したクラスを見ることができますが、それは動作していますが、次のステップはクラスを特定の列挙型で検索して値を取得することです。コード: - 私はこのメンバーが列挙知っているにもかかわらず
Private Sub GetOutcomeEnumValues(ByVal AssemblyPath As String, ByVal ClassName As String)
Dim ReflectedAssembly As Assembly
Dim ReflectedClass As Type
'Load DLL
ReflectedAssembly = System.Reflection.Assembly.LoadFrom(AssemblyPath)
'Load Class
ReflectedClass = ReflectedAssembly.GetType(ClassName)
'Load members
Dim Members() As MemberInfo
Members = ReflectedClass.GetMembers
For i As Integer = 0 To Members.Count - 1
'Check for the Outcomes enumeration
If (Members(i).Name = "Outcomes") Then
Dim Outcomes As System.Array
Outcomes = Members(i).GetType.GetEnumValues
End If
Next
End Sub
私が持っている問題は、私はメンバー(私は)私の列挙型の値を与えるように見えることはできませんということです。私は「GetEnumValues」と呼ぶ場合には例外がスローされます。私はこの
Public Class Foo
Public Enum Outcomes
OK
Cancel
End Enum
End Class