相关疑难解决方法(0)

如何获取使用顶级语句的 C# 9 程序的 Reflection TypeInfo?

假设我有一个用 C# 9 编写的简单脚本,如下所示:

using System;
using System.IO;

// What to put in the ???
var exeFolder = Path.GetDirectoryName(typeof(???).Assembly.Location);
Run Code Online (Sandbox Code Playgroud)

之前,通过完整的程序,我们可以将该Main类用作“指示器”类。this并且this.GetType()不可用,因为从技术上讲它位于静态方法内。我现在怎样才能得到它?


我在输入问题时想到的解决方法是Assembly.GetCallingAssembly()

var exeFolder = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

它适用于我的情况,但我只能获取Assembly,而不是TypeInfo代码正在运行的位置。

c# reflection c#-9.0 toplevel-statement

5
推荐指数
3
解决办法
643
查看次数

标签 统计

c# ×1

c#-9.0 ×1

reflection ×1

toplevel-statement ×1