sealed public class HMethod
{
public int Calc(string Method, int X1, int X2, int Y1, int Y2)
{
MethodInfo HMethodInfo = this.GetType().GetMethod(Method);
return (int)HMethodInfo.Invoke(
this,
new object[4] { X1, X2, Y1, Y2 }
);
}
int ManhattanH(int X1, int X2, int Y1, int Y2)
{
//Blah
}
int LineH(int X1, int X2, int Y1, int Y2)
{
//Blah
}
//Other Heuristics
}
new HMethod().Calc("ManhattanH". X1, X2, Y1, Y2)
を呼び出すと、HMethodInfoがnullです。 null参照例外を作成します。それは、テキストを介して渡されたメソッドを呼び出す必要があります(テキストファイルから取得します)メソッド情報がnullを返している理由
解決済み:メソッドはプライベートです。
手動 'GetMethod'結合フラグを与えれば、あなたは' BindingFlags.Instanceを含める必要が、忘れてはいけません| BindingFlags.NonPublic'だけではなく、 'BindingFlags.NonPublic'です。 – aboveyou00