- - PR -
親クラスで子クラスのクラス名を取得する
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-11-25 00:40
.NET(C#)で開発しています。
親クラスで子クラスのクラス名を取得したいと考えています。 (やりたい事) ・ZZZクラスを継承して3つの子クラス(AAA、BBB、CCC)を作成します。 ・子クラスのコンストラクタで子クラス名を出力したい 例えば以下のようなイメージ public class AAA : ZZZ { public AAA() { Console.Write(this.GetType().FullName); } } ・ただ、これだと各3つのクラスのコンストラクタに同じような 記述をする必要がある。 ・なので親クラス(ZZZクラス)のコンストラクタで子クラス名 を取得して、クラス名を表示したい 以下のイメージでコーディングしたい public class ZZZ { public ZZZ() { Console.Write(派生した子クラス名); } } public class AAA : ZZZ { //子クラスでは何もしないけどクラス名が表示される public AAA(){} } いろいろ調べたのですが、解決できていないのです。 上記のようなことは可能なのでしょうか? このような考えはおかしいのでしょうか? よろしくお願いします。 | ||||||||
|
投稿日時: 2004-11-25 03:41
諸農です。
どういった結果を求めているのかちょっと推測しかねるのですが。
こういうことでしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2004-11-25 08:28
Jubeiさん、ありがとうございます。
子クラスを宣言する部分は AAA a = new AAA(); BBB b = new BBB(); のようにすることが前提で実現したいのです。 そもそもこのような考えが無理なのでしょうか? | ||||||||
|
投稿日時: 2004-11-25 08:52
諸農です。
あの。。 提示したコードですけど、試されました? 注目するところが違うような気がしますが。 あと、蛇足ですけど、継承したクラスがObject型派生であれば、 ToString()メソッドの既定の実装としてObject型の完全限定名を返しますから、 継承してコンストラクタで云々という目的が良くわからないのです。 Object.ToStringの説明を参照
> そもそもこのような考えが無理なのでしょうか? と言われている「このような考え」というのはどのような考えなんでしょうか? 具体的に説明して頂けるとコメントもしやすいと思います。 また、最初の投稿で > いろいろ調べたのですが、解決できていないのです。 とのことですが、調べたキーワードを教えていただけるとありがたいです。 _________________ 諸農和岳 Powered by Borland Delphi/C++Builder & Microsoft VS.NET [ メッセージ編集済み 編集者: Jubei 編集日時 2004-11-25 09:06 ] | ||||||||
|
投稿日時: 2004-11-25 09:34
はい。試しました。
ただ、テストする時はクラスZZZ、AAA、BBBはそれぞれ別のファイルにしました。 Class1も別ファイルにして、合計4つのファイルを作成してテストしました。 その時ZZZを継承していませんでした。 すみません。ありがとうございました。 | ||||||||
|
投稿日時: 2004-11-25 10:00
> その時ZZZを継承していませんでした。
しつこいようで申し訳ないんですが、 AAAがZZZを継承していなければ、最初に提示したコードだと コンパイルエラーになりますよね? どのように試されたのでしょうか? あと、 > Class1も別ファイルにして、合計4つのファイルを作成してテストしました。 とのことですが、別のファイルで定義していることが 今回の継承の話に伴う最初に提示したコードと何か関係あるのでしょうか? で、結局、問題は解決できたのでしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1