我正在寻找类似的东西:
public void MyCallingMethod()
{
var myObj = new Obj(Context.Method.Name);
}
甚至更好......
是否可以从myObj确定调用方法导致对象的创建,但这必须是可靠的,因为我将使用它进行报告。
提前致谢。
编辑:预期结果将是“MyCallingMethod”或“MyCallingMethod()”作为字符串。
答案 0 :(得分:2)
您可以查看GetCurrentMethod
MethodBase method = System.Reflection.MethodBase.GetCurrentMethod();
string methodName = method.Name;
string className = method.ReflectedType.Name;
string fullMethodName = className + "." + methodName;
但我认为使用那种东西''什么都不是好的解决方案。我认为你错误地设置了你的应用程序
答案 1 :(得分:1)
您可以尝试.NET 4.5 CallerMemberName
属性:
public Obj([CallerMemberName]string caller = null)
{ }
如果你这样称呼这个方法:
public void MyCallingMethod()
{
new Obj();
}
然后caller
的值将是字符串"MyCallingMethod"
。