2012-11-07 46 views
-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; 
    } 
} 

它繼承名爲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模型類的構造函數被調用,已知的方法dervied類已被調用。

請建議如何完成它或任何其他替代相同。 感謝

+0

但是......一旦你叫'GetProduct'的'LogIT' constuctor已經完成... – Rawling

+0

是這就是正確的,從而爲療法任何其他方式做它? – Rusty

回答

1

這是迄今爲止我見過的最奇怪的代碼...

構造函數只執行一次,當你實例化產品類。

嘗試使用下面的代碼來代替:

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() 
    { 

    } 
} 
+1

我見過很多怪人。這*是* Stackoverflow。 –

+1

我的意思是到目前爲止,今天:) – animaonline

+0

哈! Touché的確如此。 (爲了滿足評論長度的最低要求而在文字上打樁) –

相關問題