
C#3.5を使用しています。
BaseClassはStackTraceを使ってクラス名を取得できるメソッドを持っています。
それを継承したDerivedClass側でそのクラス名「DerivedClass」を取得したいのですが、
次のようなやり方では「BaseClass」が取得されてしまいます・・・
あくまでBaseClass側に記述したメソッドのままで、DerivedClass側のクラス名を取得するには
どのようにしたら良いのでしょうか?
public class BaseClass
{
public string className;
public string ClassName
{
get
{
if (className == null)
{
StackTrace st = new StackTrace(false);
StackFrame sf = st.GetFrame(0);
className = sf.GetMethod().ReflectedType.Name;
}
return className;
}
set { className = value; }
}
}
public class DerivedClass : BaseClass
{
}
var c = new DerivedClass();
MessageBox.Show(c.ClassName);// BaseClassと表示される
No.2ベストアンサー
- 回答日時:
こんなのどうですか?
class Program
{
public class BaseClass
{
}
public class DerivedClass : BaseClass
{
}
static void Main(string[] args)
{
var c = new DerivedClass();
Console.WriteLine(c.GetType().Name);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Tomcatのpropertiesファイルの...
-
関数内の変数に<summary>コメン...
-
Java リフレクションについて
-
継承したクラス側のクラス名の取得
-
クラス間でのデータ参照
-
ASP Pageの孫継承のPage_Load
-
構造 他のクラスの構造体を別...
-
C#でほかのファイルにある自作...
-
import と extends について
-
中学のクラス数
-
「タイプ初期化子が例外をスロ...
-
ヒグマを撃退
-
0歳児の指しゃぶりに関して
-
C#において、同じインスタンス...
-
String型からlong型への変換は...
-
PDFファイルから別ウィンドウで...
-
インスタンス参照でアクセスで...
-
パワーポイントのVBAでテキスト...
-
Androidの関数が呼び出されるタ...
-
配列の重複する値とその個数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
C#にて別クラスの関数を使いたい
-
無名パッケージからのインポート
-
c++,ある関数のクラスから別の...
-
Java リフレクションについて
-
a href="..." とServlet
-
範囲外の数値を代入したらエラ...
-
構造 他のクラスの構造体を別...
-
C#のクラスライブラリでメッセ...
-
Java
-
継承したクラス側のクラス名の取得
-
import と extends について
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
visual studioのデザイナ画面で...
-
C#でほかのファイルにある自作...
-
VisualC++でクラスのヘッダーフ...
-
型Containerのメソッドadd(S...
-
ASP Pageの孫継承のPage_Load
おすすめ情報