自分のコードから .net 実行可能ファイルの関数を呼び出したい。私はリフレクターを使用し、これを見ました:
namespace TheExe.Core
{
internal static class AssemblyInfo
internal static class StringExtensionMethods
}
名前空間の TheExe.Core は、私が興味を持っている関数です。
internal static class StringExtensionMethods
{
// Methods
public static string Hash(this string original, string password);
// More methods...
}
このコードを使用すると、ハッシュ メソッドを確認できますが、どのように呼び出すのですか?
Assembly ass = Assembly.LoadFile("TheExe");
Type asmType = ass.GetType("TheExe.Core.StringExtensionMethods");
MethodInfo mi = asmType.GetMethod("Hash", BindingFlags.Public | BindingFlags.Static);
string[] parameters = { "blabla", "MyPassword" };
// This line gives System.Reflection.TargetParameterCountException
// and how to cast the result to string ?
mi.Invoke(null, new Object[] {parameters});