2016-05-11 3 views
1

RegisterTypeにオプションのパラメータを指定してautofacを実行する方法はありますか?私。過去に私たちは何かを持っていました。AutofacでのRegisterTypeへの依存関係の追加

builder.Register(c => new Bla(c.ResolveOptional<Blub>()) 

明らかにRegisterTypeで失敗しました。

だから、どのようなやり方ですか?おそらく私は本当に盲目です.-

答えて

1

コンストラクタの依存関係はオプションであってはなりません。空の実装(a.k.a.A Null Object)を登録する代わりに、実装は必要ありません。これは、ヌル値を処理する必要がなく、常に有効な実装が存在することを期待できるため、消費コンポーネントを簡素化します。

+0

良いヒント、ありがとう。私はこれを間違いなく考えます。 – FrankyBoy

1

私はあまりにも複雑に思っていました。答えは単純に:コンストラクタのデフォルトのパラメータです。

class Bla 
    public Bla(Blub blub = null) 

オートファックは、タイプが登録されていてもそれを埋めるのに十分明るいですが、そうでなければそのまま残ります。

関連する問題