VB代码:
Public Module OnlyModule
Public Sub OnlyFunction()
'do stuff
End Sub
End Module
C#代码:
Assembly vbAssembly = BuildAssembly(vbCode); //wrapper function, but returns valid, compiled vb assembly
Module module = vbAssembly.GetModules()[0];
MethodInfo method = module.GetMethods()[0]; //returns 0 methods!!
method.Invoke(null, null);
如您所见,其中只有一个模块和一个函数,那么为什么我对 GetMethods() 的调用不起作用?我对 VB 并不完全熟悉,但它应该是一个静态方法,而且我认为它只是作为模块内的一个子程序以正确的方式编写的。