..もしあなたはC#4.0を使用することができますが、いくつかの反射呼び出しを省略することができます。タイプdynamic
ののinstance
としてここ
public static void Main()
{
Assembly ass = Assembly.LoadFile(@"PathToLibrar\ClassLibraryTest.dll");
var type = ass.GetType("ClassLibrary1.Calculator");
dynamic instance = Activator.CreateInstance(type);
int add = instance.Calc(1, 3);
}
、あなたは反射によって方法Calc
を見つけることはありません。
しかし、最良の方法は、あなたがオブジェクトを構築するために最小限の反射を行うことができます
public class Calculator : ICalculator
{
public int Calc(int i, int b)
{
return i + b;
}
}
下流
public interface ICalculator
{
int Calc(int i, int b);
}
上流のインタフェースを定義し、あなたのクラスでそれを実装することです。
public static void Main()
{
Assembly ass = Assembly.LoadFile(@"PathToLibrar\ClassLibraryTest.dll");
var type = ass.GetType("ClassLibrary1.Calculator");
ICalculator instance = Activator.CreateInstance(type) as ICalculator;
int add = instance.Calc(1, 3);
}
これは、最高のパフォーマンスを提供します。
Visual Studioを使用している場合:参照を追加してから、あなたのDLLを検索 – MCSI
.NET/C#の基本についてお読みになりましたか? –
なぜこれがダウン表示されますか?それは明白ではないかもしれません(とにかく明白です)。 @ minitechの答えを見てください。 –