C#反射:获取调用类'Type

Foo*_*mus -1 c# reflection

可能重复:
C#中的反射:如何获取调用方法名称和类型?

假设我有两个类:

public class Foo {
    public Foo() {
        Bar.Pirate();
    }
}

public static class Bar {
    public static void Pirate() {
        Type callingClassType = ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在内部Pirate(),如何获取调用Type的class(Foo)Pirate()

Joh*_*soe 7

你没有有效地得到它.作为设计点,我认为最好将调用类类型传递给Pirate方法.

如果你不能将类类型作为参数传递,那么你可以从System.Diagnostics命名空间中的StackTrace类获取调用类型,但是如果我的内存是正确的,那么它是一个相当昂贵的类.