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. Создает исключение нулевой ссылки. Он должен вызывать метод, переданный через текст (который схвачен из текстового файла)Метод Info возвращает значение null, неопределенное, почему
Решено: методы являются частными.
Не забывайте, что если вы вручную дать 'GetMethod' обязательные флаги, вам необходимо включить' BindingFlags.Instance | BindingFlags.NonPublic', а не только 'BindingFlags.NonPublic'. – aboveyou00