[英]How to identfiy Class or Method Name into method in C#?
我不知道是否可能,但是如果有某种方法可以做到这一点,请提出建议。 我有一个方法,并且用不同的类来调用此方法,那么如何知道方法的名称(类名)呢?
以下是我的情况,
public class Employee()
{
protected bool Check()
{
//Here how will I know method name(Test1 or Test2) from which call is made? Please note I can't use any parameter with Check method.
}
public void Test1()
{
Check();
}
public void Test2()
{
Check();
}
}
您可以尝试以下方法:
string myClass = MethodBase.GetCurrentMethod().DeclaringType.Name;
在C#6.0中,您可以使用nameof
nameof(YourMethodname)
你可以用
var className = this.GetType().Name;
您可以使用StackTrace
;
StackTrace stackTrace = new StackTrace();
MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();
Console.WriteLine(methodBase.Name);
感谢杰森
您将在这里找到答案
using System.Diagnostics;
// get call stack
StackTrace stackTrace = new StackTrace();
// get calling method name
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.