我知道这是最常见的错误之一,但我真的很难绕过它。
我的控制器上有一个属性:
private readonly ISelectListFactory _selectFactory;
和一个调用以填充viewbag的方法
private void PopulateLists()
{
var continent = _selectFactory.GetItems();
}
和界面
public interface ISelectListFactory
{
IEnumerable<SelectListItem> GetItems();
}
在控制器构造函数中我有以下内容:
public LocationController(ISelectListFactory selectFactory)
{
_selectFactory = selectFactory;
}
但我收到此错误对象引用未设置为对象的实例,并且不确定如何克服它。
此致
答案 0 :(得分:1)
确保您已在某处实例化此_selectFactory
变量。例如:
_selectFactory = new SomeConcreteSelectListFactory();
或者如果您正在使用依赖注入,您可以配置您的DI框架以将其注入构造函数:
public class HomeController: Controller
{
private readonly ISelectListFactory _selectFactory;
public HomeController(ISelectListFactory selectFactory)
{
_selectFactory = selectFactory;
}
... some controller actions where you could use the _selectFactory field
}