.net 这是什么<;模块>;键入程序集

.net 这是什么<;模块>;键入程序集,.net,reflection,.net,Reflection,每次我在reflector中打开一个程序集时,都会看到显示的这个特殊的类型。最近,我遇到了一个程序集,它有一个在此类型中定义的静态方法,我想通过反射来调用它。这可能吗 顺便说一句,此方法具有privatescopehidebysing方法属性 编辑: Assembly assembly = Assembly.LoadFile(assemblyPath); Type moduleType = assembly.GetType("<Module>"); Assembly=Assembly

每次我在reflector中打开一个程序集时,都会看到显示的这个特殊的
类型。最近,我遇到了一个程序集,它有一个在此类型中定义的静态方法,我想通过反射来调用它。这可能吗

顺便说一句,此方法具有
privatescope
hidebysing
方法属性

编辑:

Assembly assembly = Assembly.LoadFile(assemblyPath); Type moduleType = assembly.GetType("<Module>"); Assembly=Assembly.LoadFile(assemblyPath); 类型moduleType=assembly.GetType(“”);
上面的代码返回空值

我没有时间尝试找到正确的名称形式,但是如果您使用
Assembly.GetTypes()
来获取程序集中的所有类型,您可能可以通过这种方式找到它。请记住,一个部件可以有许多模块。使用
Assembly.GetModules()
查找所有模块。

这就是我需要的灵感。非常感谢。我所寻找的方法是一种全局方法(我以前从未听说过),并且不是任何类型的方法的一部分。但由于某种原因,reflector决定在类型“”下显示它。我能够使用assembly.GetModules()[0].GetMethods(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static)获取该方法。顺便说一句,当我使用assembly.GetTypes()或使用ILDasm时,该类型不会显示。