2016-08-29 6 views

答えて

2

アセンブリの存在を確認し(File.Exist)、ファイルが見つかった場合は、そのアセンブリから型のインスタンスを作成し、そのアセンブリのメソッドを呼び出します。

このような何か:

var assemblyLocation = "someLocation"; 
var methodToRun = "SomeMethod"; 
if (File.Exists(assemblyLocation)) 
{ 
    var assembly = Assembly.LoadFile(assemblyLocation); 
    var instanceOfType = assembly.CreateInstance("SomeType"); 
    if (instanceOfType != null) { 
     var methodInfo = instanceOfType.GetType().GetMethod(methodToRun); 
     if (methodInfo != null) { 
      methodInfo.Invoke(instanceOfType, null); 
     } 
    } 
} 

もちろんこの缶は、作成したオブジェクトの種類(クラスまたはインタフェース)にアクセスできるかどう改善されるので、あなたは、メソッドを実行するためにリフレクションを使用する必要はありません。

var assemblyLocation = "someLocation"; 
if (File.Exists(assemblyLocation)) 
{ 
    var assembly = Assembly.LoadFile(assemblyLocation); 
    var instanceOfType = assembly.CreateInstance("SomeType") as SomeType; 
    if (instanceOfType != null) { 
     instanceOfType.SomeMethod(); 
    } 
} 
マネージド
関連する問題