When will MethodBase.GetCurrentMethod return null?

When will MethodBase.GetCurrentMethod return null?

The MethodBase.GetCurrentMethod() method returns a MethodBase object that represents the method that is currently executing. This method will return null when it is called from a method that is not on the call stack.

There are a few cases when MethodBase.GetCurrentMethod() will return null:

  • When it is called from a method that is not on the call stack, such as a static constructor, Main function, or a global scope.
  • When it is called from a method that is not a member of a class or struct, such as a local function or lambda expression.
  • When it is called inside an anonymous method, a lambda expression, or a dynamically generated method.
  • When it is called inside an asynchronous method and it is invoked asynchronously.
  • When it is called inside an expression-bodied member and it is invoked in the context of a null instance.

It's worth noting that the MethodBase.GetCurrentMethod() method will return the method that is currently executing, and not the method where it is called from. This is important to keep in mind when you are debugging and trying to understand the call stack of your application.

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章