我有一个代码,其中类State包含模板。 Class Cell实际上是我的T. 我正在尝试将一个State类型的对象添加到我的列表中,它给了我一个错误,好像它指向null,即使我调试并看到它具有良好的值,特别是我期望的。
public abstract class Searcher<T> where T : IEquatable<T>
{
List<State<T>> solution;
public List<State<T>> backTrace(State<T> n , ISearchable<T> searchable)
{
while (! ( n.getPrevious().Equals(searchable.getInitialState())))
{
if (n != null)
solution.Add(n); //ERROR, NULL EXCEPTION }}
"'System.NullReferenceException'.."
奇怪的是它超越了if状态,但仍然不会将它添加到列表中,因为它给了我那个错误。我的州级是:
public class State<T> where T : IEquatable<T>
{
public T state; // the state represented by a string/cell
private State<T> cameFrom; // the state we came from
public State<T> getPrevious()
{
return cameFrom;
}
任何帮助..?