RegisterType
にオプションのパラメータを指定してautofacを実行する方法はありますか?私。過去に私たちは何かを持っていました。AutofacでのRegisterTypeへの依存関係の追加
builder.Register(c => new Bla(c.ResolveOptional<Blub>())
明らかにRegisterTypeで失敗しました。
だから、どのようなやり方ですか?おそらく私は本当に盲目です.-
RegisterType
にオプションのパラメータを指定してautofacを実行する方法はありますか?私。過去に私たちは何かを持っていました。AutofacでのRegisterTypeへの依存関係の追加
builder.Register(c => new Bla(c.ResolveOptional<Blub>())
明らかにRegisterTypeで失敗しました。
だから、どのようなやり方ですか?おそらく私は本当に盲目です.-
コンストラクタの依存関係はオプションであってはなりません。空の実装(a.k.a.A Null Object)を登録する代わりに、実装は必要ありません。これは、ヌル値を処理する必要がなく、常に有効な実装が存在することを期待できるため、消費コンポーネントを簡素化します。
私はあまりにも複雑に思っていました。答えは単純に:コンストラクタのデフォルトのパラメータです。
class Bla
public Bla(Blub blub = null)
オートファックは、タイプが登録されていてもそれを埋めるのに十分明るいですが、そうでなければそのまま残ります。
良いヒント、ありがとう。私はこれを間違いなく考えます。 – FrankyBoy