我是IoC的新手,我試着開始使用StructureMap,但是在嘗試獲取對象實例時拋出NullReferenceException。這裏是我的初始化代碼:StructureMap - NullReferenceException
ObjectFactory.Initialize(x =>
{
x.ForRequestedType<IRepository<Customer>>().TheDefaultIsConcreteType<EFRepository<Customer>>();
x.ForRequestedType<ICustomerManager>().TheDefaultIsConcreteType<CustomerManager>();
});
的ICustomerManager使用構造函數注入和接收IRepository:
public class CustomerManager : ICustomerManager
{
IRepository<Customer> _repository;
public CustomerManager(IRepository<Customer> repository)
{
_repository = repository;
}
public Customer GetCustomerById(int id)
{
return _repository
.With(c => c.PhoneNumbers)
.FirstOrDefault<Customer>(c => c.Id == id);
}
public IEnumerable<Customer> GetCustomersByName(string lastName, string firstName, string middleName)
{
return _repository.Query(new CustomerMatchesName(lastName, firstName, middleName));
}
}
然後在我的業務層的代碼,此行引發異常:
var manager = ObjectFactory.GetInstance<ICustomerManager>();
我真的不知道從哪裏開始調試,對於一般的概念來說是如此新鮮。任何關於在這樣一個簡單情況下可能出錯的想法?
可能重複[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-doi-i-fix-它) – Nasreddine 2015-10-04 09:08:14