2012-04-18 45 views
2

得到BaseType.Name和頁面的命名空間我有一個基類爲我所有的網頁:C# - 從基類

//BASE CLASS 
public class WebBasePage : Page 
{ 
    protected override void OnLoad(EventArgs e) 
    { 
      base.OnLoad(e); 
      string pageBaseTypeName = ???? 
      string pageBaseTypeNameMespace = ???? 
    } 
} 
//PAGE 
public partial class T350112A : WebBasePage 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     //Some code. 
    } 
} 

我想這個基類的onload事件動態獲取的基本類型。名稱和調用基類的頁面的名稱空間。

有可能嗎?

+0

你需要一個'姓名',或者你需要根據班級的類型來區分(例如做些什麼) - 有很多方法,取決於你需要什麼 – NSGaga 2012-04-18 15:13:03

+0

我需要呼叫的網頁的名稱基類,在這種情況下,「T350112A」。 – roglopes 2012-04-18 16:02:25

回答

4

我假設你想得到派生的類名稱和命名空間,而不是基本頁面名稱和命名空間(因爲它永遠不會改變)。你只會得到GetType一個電話得到這個信息:

public override void OnLoad(EventArgs e) 
    { 
     Type derivedType = GetType(); 
     string typeName = derivedType.Name; 
     string namespace = derivedType.Namespace; 
    } 

GetType通話將獲得運行類型的信息。

+0

在基類中,我想獲得dinamically:pageBaseTypeName =「T350112A」 – roglopes 2012-04-18 15:46:47

+0

這就是您將從提供的代碼示例中獲得的內容。 – Tejs 2012-04-18 16:00:00

+0

是的,你是對的,非常感謝。 – roglopes 2012-04-18 19:17:57