私はこれを私のdllのメインクラスとして持っています:
namespace PTEmu
{
public class DatabaseProtocol : IDatabaseProtocol
{
(constructors and methods)
}
}
DLL をロードし、クラスのインスタンスを作成するために使用するこのコード
var assembly = Assembly.LoadFrom("database\\" + file);
var t = assembly.GetType("PTEmu.DatabaseProtocol");
var protocol = Activator.CreateInstance(t) as IDatabaseProtocol;
Assembly.LoadFrom, assembly.GetType
それActivator.CreateInstance
自体は、エラーをスローしません。
このコードは、問題なく動作する別のプロジェクトから取得したため、何が問題なのかわかりません。
を削除するas IDatabaseProtocol
と、オブジェクトが返されますが、必要なインターフェイスのようなオブジェクトは返されないため、メソッドを簡単に呼び出すことができます...