忍者ブログ

技術メモ

Home > ブログ > > [PR] Home > ブログ > .Netframework > 【Reflectionを使った文字列からのメソッド・プロパティ呼出及びクラスインスタンス化】

【Reflectionを使った文字列からのメソッド・プロパティ呼出及びクラスインスタンス化】

1.メソッドの呼出
    //型情報を取得
    Type tp = this.GetType();
    //型情報からメソッド情報を取得
    MethodInfo mi = tp.GetMethod(メソッド名);
    //メソッド情報からメソッド呼出
    XXX rtn = (XXX)mi.Invoke(tp, new object[] { 引数1,引数2,・・・ });

2.プロパティの呼出
    //型情報を取得
    Type tp = this.GetType();
    //型情報からプロパティ情報を取得
    System.Reflection.PropertyInfo pi = tp.GetProperty();
    //プロパティ情報から値を取得
    string aaa = (aaa)pi.GetValue(tp, null);
    pi.SetValue(tp, 設定値,null);

3.インスタンスの作成
    //対象となるアセンブリのロード(※ロードされていない場合)
    Assembly asm = Assembly.LoadFrom("ErcCommonProject.dll");
    //アセンブリ内の対象クラス情報を取得
    Type tp = asm.GetType(クラス名);
    //インスタンス作成
    クラス名 clsinstance = (クラス名)Activator.CreateInstance(tp);

 


PR

Comment0 Comment

Comment Form

  • お名前name
  • タイトルtitle
  • メールアドレスmail address
  • URLurl
  • コメントcomment
  • パスワードpassword

PAGE TOP