ASP.NET CoreのDependency Injection 〜 【その2】色んなDIの方法 〜

こんにちは、サイオステクノロジー技術部 武井です。前回に引き続き、今回はいろんなDIの方法を書きます。

その1

以前ご紹介した方法は、以下のようにジェネリックの第1引数にインターフェース、第2引数にその実装クラスを指定しました。

以下のような書き方も可能みたいです。

上記のクラスは、別に何らかのインターフェースを実装している必要はなく、普通のクラスでOKです。この場合、[クラスの型]をnewしたインスタンスがDIコンテナに登録され、スコープはSingletonになります。この書き方を実践したソースコードのサンプルは以下のとおりです。

ビュー(index.cshtml)は以下のとおりです。

実行結果は以下の通りとなります。

さくっと何かのクラスのインスタンスをDIしたいときにこういう記述が役に立つのだと思います。

その2

その1の記述は以下のように記載することも出来ます。

先程の「こんにちは世界」のソースコードにて、HelloWorldをDIする部分を上記の書き方で実現するためには、以下のようになります。

もっと省略した書き方は以下のようになります。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*