- - PR -
メソッドの実行方法は?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-07 15:12
こんにちは!
C#によるWindowsアプリを開発しています。 今、XMLファイルにメソッド名(cMethod1、cMethod2等)が記述されています。 また、これらはCUtilityというクラスの中でstatic Methodとして宣言されています。 これらのメソッド名をXMLより取得して 動的にCUtility.Method1()を実行させたいのですが その方法を教えてください。 XMLファイルの中身 <CONDITION> <METH1>cMethod1</METH1> <METH2>cMethod2</METH2> </CONDITION> 処理 htbl = htblCon["CONDITION"]; // ハッシュテーブルhtblConにメソッド一覧が格納されています。 IDictionaryEnumerator my = htbl.GetEnumerator(); while ( my.MoveNext() ){ CUtility.(my.Value.Tostring()); // このように動的にメソッドを実行したい } よろしくお願いします。 | ||||
|
投稿日時: 2004-04-07 15:39
System.Reflection名前空間の下を使えば、何とかなるんじゃないかなぁ?Assemblyクラスの説明に、GetMethodというメソッドが出ているし。。。
ところで、こっちはどうなりました?お役に立てましたか? | ||||
|
投稿日時: 2004-04-07 16:37
この質問、定期的に見る気がするんですが、なぜ文字列から呼ぶメソッドの選択
をしたいんでしょう? どう考えても設計ミスのような気がするんですが。 | ||||
|
投稿日時: 2004-04-07 17:59
諸農です。
方法という事なので。 オブジェクトのインスタンスは既に取得済みであるなら、 そのオブジェクトのタイプ情報から直接指定のメソッド情 報を取り出すか、メソッド一覧を取り出して名前の一致す るものを探し出してオブジェクトインスタンスを引数にし てメソッド情報インスタンスからメソッドを呼び出します。 パラメータが必要な場合は、別途パラメータ情報も取得す る必要がありますね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1