1
私は以下の閉鎖一般登録をしています。エンティティの名前が 'Order'である場合、登録のインスタンス(OrderValidator
)を取得するにはどうすればよいですか。Simple Injectorを使用して閉じたジェネリック登録の名前またはタイプでインスタンスを取得するにはどうすればよいですか?
container.Register<IValidate<Customer>, CustomerValidator>();
container.Register<IValidate<Employee>, EmployeeValidator>();
container.Register<IValidate<Order>, OrderValidator>();
container.Register<IValidate<Product>, ProductValidator>();
void GetValidator(Container container, string entityName, Entity entity)
{
// TODO: Get the Validator from container
validator.Validate(entity);
}
これ以上インターフェイスを作成しないようにしてください。
注:あなたも簡素化するために、[一括登録](https://simpleinjector.readthedocs.io/en/latest/advanced.html#batch-registration)を使用することができます登録。 – Steven