Ich möchte List
Klasse mit meiner benutzerdefinierten Klasse umbrechen. Für jetzt habe ich so etwas;Wrapping List.Add() gibt - Objektverweis nicht auf eine Instanz eines Objekts festgelegt
public class PriorityListOfNodes
{
private List<Node> list_;
private IComparer<Node> sorter_;
public List<Node> List_ {
get {return list_;}
set {list_ = value;}
}
public PriorityListOfNodes()
{
sorter_ = new NodeSorter_fValueDescending();
}
public Node PopFromEnd()
{
Node temp = new Node (list_ [list_.Count - 1]);
list_.RemoveAt (list_.Count - 1);
return temp;
}
public Node PeekFromEnd()
{
return list_ [list_.Count - 1];
}
public void Add (ref Node toAdd)
{
Debug.Log (toAdd);
list_.Add (toAdd);
list_.Sort (sorter_);
}
}
Wenn ich jetzt
Node temp = new Node(10,20); //custom constructor
PriorityListOfNodes l = new PriorityListOfNodes();
l.add(temp);
ich Laufzeitausnahme:
Objektverweis nicht auf eine Instanz eines Objekts festgelegt
Ich habe auch versucht, ohne ref
aber mit dem gleichen Ergebnis. Was mache ich hier falsch?
Sehr seltsame Benennungsstil .. in der Regel private Felder haben Unterstrich Präfix, oder sie haben kein Präfix –
@lazyberezovsky Ich verwendete Präfixe verwendet, aber es dauert länger zu schreiben (Sie beenden das Wort Autocomplete). – Patryk