0

私は、私をまっすぐに見つめている何かを見逃しているに違いないと思います。

これが私のコードです:

 var addToBasket = new AddToBasket                                                                         
            {
                RetailerId = retailerId,
                ProductId = productId,
                Price = price,
                CreatedAt = DateTime.Now,
                WidgetImpressionId = widgetImpressionId,
                Quantity = quantity,
                VisitStore = false
            };
            _addToBasketRepository.Add(addToBasket);

Add私はNullReferenceExceptionを取得しています

私がすべての値をチェックしたことを除いて、どれもnullではありません:

VS の [ウォッチ] ウィンドウで:

addToBasket {AddToBasket Id = 0、RetailerId = 80、ProductId = 6566、Price = 1.89、CreatedAt = 24/10/2013 15:57:37、WidgetImpressionId = 191489981、VisitStore = False} WidgetData.AddToBasket

私は Id = 0 を知っていますが、自動インクリメントする Id 列なので、それが問題になるとは思いません。

4

2 に答える 2

3

このような例外をスローするために null になる可能性がある唯一のオブジェクトは_addToBasketRepository

それがあなたの犯人だと思います。あなたはインスタンス化していません_addToBasketRepository

他のオブジェクトが null の場合でも、NullReferenceException問題のオブジェクトのプロパティまたはメソッドにアクセスしようとするまで、それらは をスローしません。


使用する前に次の行を追加することでこれを修正できます_addToBasketRepository

// assuming that it is indeed a List and not some other collection
_addToBasketRepository = new List<AddToBacket>()  
于 2013-10-24T15:02:00.677 に答える