-1

我有一个名为logIT的课程

public class LogIT
{
    public string strMessage = string.Empty;
    public string strClassName = string.Empty;
    public string strMethodName = string.Empty;
    public LogIT()
    {
        strMethodName = new StackFrame(1).GetMethod().Name;
        strClassName = new StackFrame(1).GetMethod().DeclaringType.Name;
    }
}

另一个继承了名为“ product ”的 LogIT 类的类

public class Product : LogIT
{
    public Product()
    {

    }
    public void GetProduct()
    {

    }

    public void AddEditProduct()
    {

    }
}

这是我的主要方法:

static void Main(string[] args)
    {
        Product objProduct = new Product();
        objProduct.GetProduct();
    }

我的问题是,当我调用产品类的GetProduct方法时,我希望调用logit类构造函数并知道调用了衍生类的哪个方法

请建议如何完成它或任何其他替代方法。谢谢

4

1 回答 1

1

这是迄今为止我见过的最奇怪的代码......

当您实例化 Product 类时,构造函数只执行一次。

尝试改用以下代码:

public class LogIT
{
    public string strMessage = string.Empty;
    public string strClassName = string.Empty;
    public string strMethodName = string.Empty; 

    public void LogStackTrace()
    {
        strMethodName = new StackFrame(1).GetMethod().Name;
        strClassName = new StackFrame(1).GetMethod().DeclaringType.Name;
    }
}

public class Product : LogIT
{
    public Product()
    {

    }
    public void GetProduct()
    {
        base.LogStackTrace();
    }

    public void AddEditProduct()
    {

    }
}
于 2012-11-07T08:47:38.070 回答