有没有办法获得调用某种方法的类的实例?C#中获取方法的调用者#
3
A
回答
7
您可以通过检查调用堆栈调用方法的名称。获取类实例是一个不同的故事,并不容易实现(如果可能的话;我从来没有真正尝试过)。例如,你应该考虑从static
方法调用你的方法的可能性,在这种情况下,没有类实例可以找到。
无论哪种方式,这通常不是一件好事。如果该方法需要访问任何调用它的类实例,请将其添加为方法中的参数。
1
您可以检查StackTrace.GetFrame方法。 :)
0
那么,如果你在方法中,你可以使用这一行来获取类的类型。但是我不确定它是否真的是你想要的,因为你要求实例。
Type yourclass = MethodBase.GetCurrentMethod().DeclaringType;
2
不是。虽然您可以在堆栈中找到一些信息,但有几种情况下不存在实例,例如托管非托管代码边界(Windows消息,回调,COM互操作等)或简单的静态方法。
也许你应该首先解释你想达到的目标,以便找到替代解决方案。
0
如果可能的话,你可以尝试添加
object sender
参数为常见之中WPF方法的例子。
相关问题
- 1. 获取对方法调用者的引用的一般方法?
- 2. C#方法调用者
- 3. 获取方法被调用的方法?
- 4. 从AsyncTask获取结果给调用者类的最佳方法
- 5. 如何获取此方法的调用者类
- 6. c中的获取者和安装者#
- 7. PHP - 获取类,其中调用方法
- 8. 插件中的jQuery方法调用者
- 9. C++中的调用方法
- 10. 在即时窗口中调用C#方法VS,获取'System.Threading.ThreadAbortException'
- 11. 在Rails中获取调用者URL
- 12. 获取调用方法的进度
- 13. 获取调用方法的参数值
- 14. 获取调用方法的名称javascript
- 15. C++如何获取调用的正确方法?
- 16. 获取正确的Lua元方法来调用(C-api)
- 17. C#如何获取方法调用的数量?
- 18. 如何从c#中的回调方法获取返回值
- 19. C#获取调用者类的类型(不是静态的)
- 20. 如何获取有关C函数的调用者的信息?
- 21. React获取状态提供者方法
- 22. 从Web方法中调用异步方法并获取返回
- 23. 从Class2调用Class1的获取者
- 24. ITOP - 获取调用者的IP车票
- 25. 从attachEvent获取事件的调用者
- 26. 从另一种方法(Quartz.NET)获取调度器。或者一般方法问题
- 27. 从调用者处理被调用方法中的流
- 28. Java - 如何获取类调用方法
- 29. 获取WCF方法调用synchorounsly
- 30. 方法获取调用onBackPress在android