使用VBCodeProvider()在C#中构建VB程序集。从源代码中编译SemblyFromSource,但无法访问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的“

VB代码:

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];