как поместить наблюдаемую коллекцию в список - PullRequest
0 голосов
/ 27 июля 2011

Я хочу поместить текущие данные наблюдаемой коллекции в список при нажатии кнопки. ниже приведен код C #, но он выдает ошибку: ссылка на объект не установлена ​​на экземпляр объекта.

    ObservableCollection<CheckInData> _CheckInCollection = new ObservableCollection<CheckInData>();


    public ObservableCollection<CheckInData> CheckInCollection
    {
        get { return _CheckInCollection; }
    }

    public class CheckInData
    {
        public string RoomNumber { get; set; }
        public decimal Price { get; set; }
        public string Currecny { get; set; }
        public decimal Discount { get; set; }
        public string CheckOut { get; set; }
        public int TotalDay { get; set; }
        public decimal TotalPrice { get; set; }
        public int CheckOutYear { get; set; }
        public int CheckOutMonth { get; set; }
        public int CheckOutDay { get; set; }
        public Boolean IncToday { get; set; }
    }

    private void btnPrintInvoice_Click(object sender, RoutedEventArgs e)
    {
        DataToExcel.Invoice inv = new DataToExcel.Invoice();
        inv._BilledTo = Guest[0];

        foreach (CheckInData coll in _CheckInCollection)
        {

            for (int i = 0; i < _CheckInCollection.Count; i++)
            {
                inv._RoomPrice.Add(coll.RoomNumber[i].ToString());
            }
        }
    }

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Установите точку останова на строке, которая вызывает исключение, и проверьте каждую переменную, которая может быть нулевой: inv, inv._RoomPrice, coll, coll.RoomNumber

Найдя его, определите, где, по вашему мнению, он должен быть инициализирован, и исправьте ошибку, из-за которой он не был инициализирован.

1 голос
/ 27 июля 2011

Похоже, что inv._RoomPrice или coll.RoomNumber равен нулю.

...