如何通过继承类访问静态方法中的类名称

Tom*_*son 0 c# reflection

我认为用一个例子来解释是最容易的.

假设我有以下内容:

public class A
{
    public static string DoWork() { return "working" + <here I want the class name>;}
}

public class B : A{}
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做

A.DoWork();
Run Code Online (Sandbox Code Playgroud)

我希望结果"工作<A>的完整类型名称".

如果我做

B.DoWork();
Run Code Online (Sandbox Code Playgroud)

我想要相同的东西,但完整的类型名称B.是否可能?

我知道做这样的事情很难看,但是当你使用某些CMS系统并且你想写一些有用的东西时,你必须弯曲规则.

Jon*_*eet 5

我想要相同的东西,但完整的类型名称B.是否可能?

不会.呼叫B.DoWork实际上被编译成IL以A.DoWork直接呼叫.IL中没有任何迹象表明您实际上已经打过电话B.DoWork,所以如果不查看原始来源就无法说明.