特定のプロジェクトから、他のプロジェクトに含まれるクラスのインスタンスを作成する方法はありますか?
私は通常、を使用Assembly.GetExecutingAssembly().CreateInstance()
しますが、指定しているクラスが別のプロジェクトで保持されているため、この呼び出しは明らかにNULLを返します。
何か案は ?
特定のプロジェクトから、他のプロジェクトに含まれるクラスのインスタンスを作成する方法はありますか?
私は通常、を使用Assembly.GetExecutingAssembly().CreateInstance()
しますが、指定しているクラスが別のプロジェクトで保持されているため、この呼び出しは明らかにNULLを返します。
何か案は ?
これを実現するために本当にリフレクションを使用したい場合は、を見てくださいAssembly.LoadFrom()
。http://msdn.microsoft.com/en-us/library/system.reflection.assembly.loadfrom.aspx
または、誰かが指摘したように、プロジェクト参照を使用することもできます。
リフレクションを実行しようとしている場合は、Assembly.LoadFrom()を使用してファイルからアセンブリをロードすることをお勧めします。
ただし、単にアセンブリでオブジェクトを使用する場合は、プロジェクトへの参照としてアセンブリを追加します(ソリューションエクスプローラーでプロジェクトを右クリックし、[参照の追加]をクリックします)。次に、参照されるアセンブリのすべてのパブリックオブジェクトを簡単に使用できます。