我试图通过反射获取派生类的受保护方法的代码。
我们有一个带有一些可覆盖的受保护方法的基类,我感兴趣的是 DefineSubdomain 。
方法如下:
Protected Overrides Sub DefineSubdomains()
With SubdomainDefs
.Add("PurchaseOrderItemLine", requiredForAdd:=False)
.Add("PurchaseOrderMiscLine", requiredForAdd:=False)
.Add("PurchaseOrderWOLine", requiredForAdd:=False)
End With
End Sub
我希望检索Add方法的第一个参数。我可以参考该方法,但我无法弄清楚如何阅读代码。我用过这个:
SomeAssembly = Assembly.LoadFrom(mconAppPath & "\AO_PurchaseOrder.dll")
Types = SomeAssembly.GetTypes
For Each ThisType In Types
If ThisType.IsClass Then
If ThisType.Name = "AO_PurchaseOrder.imsAO_PurchaseOrder" Then
ThisFunction = ThisType.GetMethod("DefineSubdomains", BindingFlags.Instance Or BindingFlags.NonPublic)
'What now?
End If
End If
Next
对于示例,我只需要文本" PurchaseOrder"," PurchaseOrderMiscLine" &安培; " PurchaseOrderWOLine&#34 ;.此应用程序中有超过700个域和子域,这就是我尝试使用代码查看依赖项的原因。我有源代码,但类的文件没有命名一致,反射看起来更容易。如果有人有想法阅读源代码,可能更容易对它开放。但是有些项目的命名与域名不同,有些项目在不同的目录中。我对域的唯一元数据是程序集名称和类名。