私は既存のWinformsプロジェクトに依存性注入を実装しており、これまでのところ順調に進んでいますが、フォームの呼び出し、特にコンストラクターパラメーターの量の変化を一般化したいと思います。
私のコードは次のとおりです。
Public Shared Function GetForm(formObject As BaseObject, _
parameters As Dictionary(Of String, Object)) As Form
Select Case formObject.GetType()
Case GetType(Production.Task)
Return SMKernel.Kernel.Get(Of Forms.Production.Domain.ManageTask) _
(New Parameters.ConstructorArgument() _
{New Parameters.ConstructorArgument("task", _
CType(formObject, Production.RequiredTask))})
End Select
End Function
これは正常に機能し、インターフェイスは正しく挿入され、コンストラクターパラメーター "task"が入力され、フォームは期待どおりに機能します。
ご覧のとおり、メソッドのConstructorArgument
一部に追加する必要のあるいくつかのパラメーターを含むことができるディクショナリがあります。Get
IntelliSenseを見ると、オブジェクトの配列を渡すことができるはずですが、ConstructorArgument
何を試しても、何らかの理由で機能しないようです。
可能であれば、Ninjectでこれをどのように達成しますか。この方法が不可能な場合、Ninjectを介して複数のパラメーターをフォームのコンストラクターに渡すにはどうすればよいですか?