0

プロパティの名前を定義するためにハードコードされた文字列の代わりにラムダ式を使用して ConstructorArgument のインスタンスを作成する方法はありますか?

このようなもの:

var validator = Ioc.Kernel.Get<Validators.Security.UserGroupValidator>(new ConstructorArgument( x => x.ValidationDictionary, new ValidationDictionary())

私の場合、ValidationDictionary は多くの場所で同じではないため、プロバイダーを使用できません。

4

1 に答える 1

2

次のように ToConstructor バインディングを使用できます

http://www.planetgeek.ch/2011/05/28/ninject-constructor-selection-preview/

   Bind<UsergroupValidator>().ToConstructor(_ => new Usergroupvalidator(new ValidationDictionary());

または、ブログ投稿で定義されているように、検証辞書を注入することもできます。

于 2013-01-10T08:00:17.667 に答える