メソッドを名前で動的に呼び出す方法

文字列で指定したメソッドを呼び出すには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/389methodinvoke/methodinvoke.html

メソッドやプロパティの有無を確認して呼び出すには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/359callbyname/callbyname.html


MethodInfoクラスのInvokeメソッドで可能らしい。
便利な世の中になったもんだ

とりあえずこんな感じにまとめてみた

    Assembly asm = Assembly.LoadFrom("c:\hobe.dll");
    Type targetType = asm.GetType("HogeClass");
    MethodInfo mi = targetType.GetMethod("HogeMethod");
    object target = Activator.CreateInstance(targetType,new object {"hogeArg"});

    if(mi != null) {
    object methodParams = { "hoge","hoge" };
    object result = mi.Invoke(target,methodParams);
    if(result != null)
        Console.WriteLine(result.ToString());
    }