需求简介:
某一代码文件X被多个模块引用,X中的某段代码在A模块和B模块中需要调用不同的A/B模块中的方法;
需在代码执行时动态判断当前程序集是否包含"GetString"方法,若包含则执行。
代码实现:
Dim assembly As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()
Dim mmodWIP As Type
For Each atype In assembly.GetTypes()
If atype.Name = "modWIP" Then
mmodWIP = atype
Exit For
End If
Next
If Not IsNothing(mmodWIP) Then
Dim mi As Reflection.MethodInfo = mmodWIP.GetMethod("GetString")
If Not IsNothing(mi) Then
Try
Dim strFunString As String = mmodWIP.InvokeMember("GetString", Reflection.BindingFlags.InvokeMethod, Nothing, assembly, New Object() {"a"})
strFunString = strFunString
Catch ex As Exception
Throw
End Try
End If
End If