私は次のようなクラスを持っています...
public class Client<T> : IClient where T : IClientFactory, new()
{
public Client(int UserID){}
}
およびIClientFactoryを実装する別のクラス
public class Client : IClientFactory
dllが参照されている場合は、これを簡単に実行してインスタンス化できます。
var data = new namespace.Client<namespace.OtherDLL.Client>(1);
しかし、ロードされたアセンブリでそれを行おうとすると、タイプがわからないため、明らかに失敗します。私はReflectionを使ってそれを行うために読み続けています。しかし、私はそれらのアイデアを実装しようとしましたが、失敗しました。これについての記事があります。 型オブジェクトをジェネリックメソッドに渡すことはできますか?
Assembly myDllAssembly = Assembly.LoadFile(project.Path + project.Assembly);
Type type = myDllAssembly.GetType("Migration.Application.Client");
var data = new namespace.Client<type>(1);
構成ファイルを使用して、クライアントの準備ができたときにDLLを簡単に削除し、構成ファイルを変更して機能させるようにしているので、これに関するヘルプは素晴らしいでしょう。