リフレクションを使用するときにメソッドを呼び出す方法は?

私はAssembly.LoadFromを使ってロードされているアセンブリを持っています。このアセンブリにはいくつかの静的メソッドが含まれています。アセンブリを正しくロードしたら、どのように呼び出すことができますか?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ReflectionSandbox
{
    public class Class1
    {
        public static void TestAPI()
        {
            Console.WriteLine("TestAPI");
        }
    }
}
4
@Dervall:なぜクラスは静的であるべきですか?
追加された 著者 Heinzi,
アセンブリに静的メソッドを含む静的クラスが含まれていることを意味しますか?
追加された 著者 Dervall,
@ヘインツ:あなたは正しい、それは問題ではない。
追加された 著者 Dervall,

1 答え

someAssembly.GetType(someName).GetMethod(someName).Invoke(null, someParameters)

null はインスタンスの引数です( this )。静的メソッドの場合はnullにする必要があります。

5
追加された
GetTypeまたはGetMethodのいずれかがnull参照を返しています。これは、渡された名前のメソッド/型がない場合に発生します。
追加された 著者 haiyyu,