0

これが最も遭遇するエラーの 1 つであることはわかっていますが、回避するのに本当に苦労しています。Controller にプロパティが あり、ビューバッグ とインターフェイスprivate readonly ISelectListFactory _selectFactory; を設定するために呼び出されたメソッドが ありますprivate void PopulateLists() { var continent = _selectFactory.GetItems(); }

public interface ISelectListFactory
{
    IEnumerable<SelectListItem> GetItems();

}

コントローラーコンストラクターには次のものがあります。

public LocationController(ISelectListFactory selectFactory)
    {
        _selectFactory = selectFactory;
     }

しかし、オブジェクト参照がオブジェクトのインスタンスに設定されていないというエラーが発生し、それを克服する方法がわかりません。

よろしく

4

1 に答える 1

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
}
于 2013-08-11T17:18:57.620 に答える