2013-10-24 34 views
0

我想我一定是失去了东西,直视着我的脸。NullReferenceException当添加到存储库

这里是我的代码:

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

Add我得到一个NullReferenceException

除了我已经检查了所有的价值观和他们都不是空:

在VS中的观察窗口:

addToBasket {AddToBasket Id = 0,RetailerId = 80,ProductId = 6566,价格= 1.89,CreatedAt = 24/10/2013 15时57分37秒,WidgetImpressionId = 191489981,VisitStore = FALSE} WidgetData.AddToBasket

我知道ID = 0,但其ID列其中汽车增量所以我不认为这可能是问题。

+1

那么'_addToBasketRepository'呢? – Steve

+0

_addToBasketRepository需要初始化为新列表() – Baldrick

+0

您是否初始化_addToBasketRepository? – pcreech

回答

3

都不可能为null抛出这样的异常的唯一对象是_addToBasketRepository

我认为这是您的罪魁祸首。你有没有实例化_addToBasketRepository

即使其他对象为空,他们不会抛出NullReferenceException直到您尝试访问有问题的对象的属性或方法。


使用前_addToBasketRepository

// assuming that it is indeed a List and not some other collection 
_addToBasketRepository = new List<AddToBacket>() 
+0

完全正确我太忙了看底部的代码忘记我没有实例_addtobasketrepository谢谢 – anna

0

你有没有使用添加方法之前初始化_addToBasketRepository您可以通过将以下行解决这个问题?如果您可以包含AddToBasket构造函数的代码,那么它也会很有帮助。

+0

问题去评论。 – Basilevs

相关问题