- - PR -
C#でClass.forNameのようなもの
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-27 15:40
みつんと申します。
本当に基本的な事でお恥ずかしいのですが、 JavaでいうところのClass.forName(String className)のようなことを C#で行いたいのですが、どうにも探しきれません。 どなたかご存知でしょうか? | ||||
|
投稿日時: 2004-05-27 16:09
NAL-6295です。
System.Type.GetType(string typeName) とか・・・ | ||||
|
投稿日時: 2004-05-27 17:47
NAL-6295さん、早速の返答ありがとうございます。
ですが、うまく使いこなせません...。 これはSystem.Type型を返しますよね? もしよろしければ、新しいクラスをインスタンス化している サンプルなどつけていただけないでしょうか...。 すいません、すいません...。 | ||||
|
投稿日時: 2004-05-27 18:16
「Javaでいうところの**」と言われても、Javaを知らない人にはわからないですよね。最初の質問では、Javaと.NETの両方がわかっている人でないと、質問の意図が正しく理解できません。
| ||||
|
投稿日時: 2004-05-27 20:40
Java をよく知らないので、的を得ているのかどうか。
型名から、インスタンスを生成したいのであれば、 System.Activator.CreateInstance とか、 System.Reflection.Assembly クラスの CreateInstance メソッドなどが あります。 [ メッセージ編集済み 編集者: いのつち 編集日時 2004-05-27 20:42 ] | ||||
|
投稿日時: 2004-05-27 21:59
NAL-6295です。 んー。そもそも、Class.forName(クラス名)自体が、そのクラスの情報を返す(Class型)メソッドだったので、.NETでいうところの、System.Type型を返すメソッドを紹介したわけなんですが・・・ そういう用途であれば、いのつちさんの仰っているメソッドが正解ですね。 ついでなので、蛇足ですが・・・ JavaでもClass.forName(クラス名)はそのクラス名の情報を返すメソッドというのは前述のとおりですが、その後にインスタンスを生成するような用途を実現する場合は、 Class型の変数 = Class.forName(クラス名); クラス名の型の変数 = (クラス名)Class型の変数.newInstance(); になります。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-05-27 22:17 ] [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-05-27 22:27 ] | ||||
|
投稿日時: 2004-05-28 10:47
NAL-6295さん、いのつちさん、Jittaさん、
色々ありがとうございした。 確かに、質問の仕方が宜しくありませんでした。 以後気をつけたいと思います...(反省) 本当にありがとうございました。 |
1