c# - 如何使用反射获取静态 void main() 的命名空间?
问题描述
我想static void main()
从库中获取应用程序的名称空间。
我知道你可以使用反射来获取入口程序集。有没有一种方法或方法可以让我获得该static void main()
方法的命名空间?
解决方案
这应该为您提供Main
定义可执行文件方法的类的命名空间:
Assembly.GetEntryAssembly().EntryPoint.DeclaringType.Namespace;
Assembly.GetEntryAssembly为您获取定义入口点的程序集,该EntryPoint
属性为您提供MethodInfo
表示Main
方法本身的 a。然后,您可以从属性Type
返回的名称空间中获取名称空间。DeclaringType