57. MethodBase.GetCurrentMethod

רוצים לדעת מה שם המתודה שאתם נמצאים בה עכשיו?

אפשר לעשות זאת בצורה הבאה:

1
2
string methodName =
MethodBase.GetCurrentMethod().Name;

לדוגמה:

1
2
3
4
5
6
7
public static void MyMethod(string givenString,
int givenNumber)
{
Console.WriteLine
(MethodBase.GetCurrentMethod().Name);
// Prints "MyMethod".
}

שימוש נחמד לGetCurrentMethod הוא יצירה של Logger מבלי לציין את שם הType הנוכחי שאנחנו נמצאים בו:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class MyClassWithStaticLogger
{
// Static logger for the current class.
private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// Writes "Hello world" to the log
/// </summary>
public void HelloWorld()
{
if (Logger.IsDebugEnabled)
{
Logger.Debug("Hello world");
}
}
}

יום טוב

שתף