c# print the class name from within a static function

前端 未结 7 906
囚心锁ツ
囚心锁ツ 2021-02-06 23:19

Is it possible to print the class name from within a static function?

e.g ...

public class foo
{

    static void printName()
    {
        // Print the          


        
7条回答
  •  耶瑟儿~
    2021-02-06 23:45

    You have three options to get the type (and therefore the name) of YourClass that work in a static function:

    1. typeof(YourClass) - fast (0.043 microseconds)

    2. MethodBase.GetCurrentMethod().DeclaringType - slow (2.3 microseconds)

    3. new StackFrame().GetMethod().DeclaringType - slowest (17.2 microseconds)


    If using typeof(YourClass) is not desirable, then MethodBase.GetCurrentMethod().DeclaringType is definitely the best option.

提交回复
热议问题