2012-04-18 8 views
2

私は私のすべてのページのための基本クラスをしました:C#の - 基本クラスからページのBaseType.Nameと名前空間を取得し

//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イベントが動的BaseTypeを取得したいです。名前と、基本クラスを呼び出したページの名前空間。

可能ですか?

+0

あなたはクラスのタイプに基づいて区別する必要がありますか(何かをするなど) - 何が必要なのかによって異なります。 – NSGaga

+0

私は呼び出すページの名前が必要ですベースクラス、この場合は "T350112A"です。 – roglopes

答えて

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

+0

これは、提供されたコードサンプルから得られるものです。 – Tejs

+0

はい、ありがとう、ありがとうございます。 – roglopes

関連する問題