使用VBCodeProvider()在C#中构建VB程序集。从源代码中编译SemblyFromSource,但无法访问VB代码中的函数
VB代码:使用VBCodeProvider()在C#中构建VB程序集。从源代码中编译SemblyFromSource,但无法访问VB代码中的函数,c#,.net,vb.net,dynamic,code-generation,C#,.net,Vb.net,Dynamic,Code Generation,VB代码: Public Module OnlyModule Public Sub OnlyFunction() 'do stuff End Sub End Module C#代码: 正如您所看到的,其中只有一个模块和一个函数,那么为什么我对GetMethods()的调用不起作用呢?我对VB不太熟悉,但它应该是一个静态方法,我认为它是作为模块内的一个子模块编写的。我想应该使用GetType()而不是GetModule() Works:)“共享”是VB.Net的“
Public Module OnlyModule
Public Sub OnlyFunction()
'do stuff
End Sub
End Module
C#代码:
正如您所看到的,其中只有一个模块和一个函数,那么为什么我对GetMethods()的调用不起作用呢?我对VB不太熟悉,但它应该是一个静态方法,我认为它是作为模块内的一个子模块编写的。我想应该使用GetType()而不是GetModule()
Works:)“共享”是VB.Net的“静态”
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);
Type type = vbAssembly.GetType("OnlyModule");
Method method = type.GetMethods()[0];