有没有办法让那个叫一些方法类的实例?
Answer 1:
你可以通过检查调用堆栈调用该方法的名称 。 获取类的实例是一个不同的故事,并且不容易实现(如果甚至有可能;我从来没有努力去做到这一点)。 你应该例如考虑您的方法是从一个叫做可能性static
方法,在这种情况下,没有类实例找到。
无论哪种方式,这通常不是做一件好事。 如果该方法需要访问任何类实例调用了进去,添加作为方法的参数。
Answer 2:
并不是的。 虽然你可以找到在堆栈上的一些信息,有几种情况下有没有实例,如托管,非托管代码的边界(Windows消息,回调,COM-互操作等),或者简单的静态方法为好。
也许你应该解释一下你想什么摆在首位实现,这样的替代解决方案都可以找到。
Answer 3:
您可以检查StackTrace.GetFrame方法。 :)
Answer 4:
那么如果你是在方法,您可以使用此行来获取类的类型。 但我不知道这是否真的是你想要的东西,因为你问的实例 。
Type yourclass = MethodBase.GetCurrentMethod().DeclaringType;
Answer 5:
如果可能的话,你可以尝试添加
object sender
参数如通常之间WPF方法,例如。
文章来源: getting the caller of a method in c#