比如
public class Test
{
public static Run()
{
TestClass.CheckIt(参数);
}
}这个TestClass.CheckIt方法有没有可能得知,是被Test.Run调用的?
public class Test
{
public static Run()
{
TestClass.CheckIt(参数);
}
}这个TestClass.CheckIt方法有没有可能得知,是被Test.Run调用的?
{
public static Run()
{
string cls = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
string method = System.Reflection.MethodBase.GetCurrentMethod().Name;
TestClass.CheckIt(参数,method,cls);
}
}
可以用上面的办法
{
public static void Run()
{
TestClass.CheckIt();
}
} public class TestClass
{
public static void CheckIt()
{
StackTrace st=new StackTrace(true);
Console.WriteLine(st.GetFrame(1).GetMethod().DeclaringType.ToString());
Console.WriteLine(st.GetFrame(1).GetMethod().Name.ToString());
}
}
你要的好像仅仅是谁调用了这个函数,而不是调用者的引用,类似.net中常见的sender参数我不觉得这个有什么实际用途,如果是限定caller,我宁可使用attribute