Tôi muốn bọc List
lớp với lớp tùy chỉnh của mình. Bây giờ tôi có một cái gì đó như thế này;Danh sách gói .Thêm() cho - Tham chiếu đối tượng không được đặt thành một thể hiện của đối tượng
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_);
}
}
Khi tôi làm bây giờ
Node temp = new Node(10,20); //custom constructor
PriorityListOfNodes l = new PriorityListOfNodes();
l.add(temp);
tôi nhận được ngoại lệ thời gian chạy:
Object tài liệu tham khảo không được đặt để một thể hiện của một đối tượng
Tôi cũng đã cố gắng mà không ref
nhưng có cùng kết quả. Tôi làm gì sai ở đây ?
Kiểu đặt tên rất lạ .. thường là trường riêng có tiền tố gạch dưới hoặc không có tiền tố –
@lazyberezovsky Tôi đã sử dụng tiền tố được sử dụng nhưng phải mất nhiều thời gian để viết (bạn hoàn thành tự động điền từ). – Patryk