• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#にてクラス・メソッドを文字列で指定)

C#にてクラス・メソッドを文字列で指定する方法

このQ&Aのポイント
  • C#で、文字列でクラス名とメソッド名を指定してインスタンス生成とメソッド起動を行う方法を教えてください。
  • 質問者はC#で文字列で指定したクラス名とメソッド名を用いてインスタンス生成とメソッド起動を行いたいと考えています。
  • メソッドの引数は常に「ref strdata」の固定であるという前提で構わないそうです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんばんは。  リフレクションで実行します。以下URLが分かりやすいです。  http://d.hatena.ne.jp/s-kita/20090201/1233473013 public class csTest { public csTest() { } public void msTest(ref String str) { } } private void Call(Type type) { //コンストラクタを取り出す System.Reflection.ConstructorInfo ci = type.GetConstructor(new Type[0]); //コンストラクタの呼び出し object instance = ci.Invoke(new object[0]); //メソッドを取り出す System.Reflection.MethodInfo mi = type.GetMethod("msTest"); //メソッドに渡すパラメータ String str = "hello"; //メソッドの呼び出し mi.Invoke(instance, new object[1] { str }); } private void Form1_Load(object sender, EventArgs e) { Call(typeof(csTest)); }

hiro_sun
質問者

お礼

ご回答、ありがとうございます。 おかげさまで、希望していた動作を完全に実装することができました! URL先の内容も分かりやすく、参考になりました!

関連するQ&A

専門家に質問してみよう