Castle Windsor - Jak odwzorować nazwaną instancję w iniekcji konstruktora

może to jest łatwe, ale przeszukiwanie go w Internecie już mnie boli

oto problem:

interface IValidator
{
    void Validate(object obj);
}

public class ValidatorA : IValidator
{
    public void Validate(object obj) { }
}

public class ValidatorB : IValidator
{
    public void Validate(object obj) { }
}


interface IClassA { }
interface IClassB { }

public class MyBaseClass
{
    protected IValidator validator;

    public void Validate()
    {
        validator.Validate(this);
    }
}

public class ClassA : MyBaseClass, IClassA
{
    //problem: validator should ValidatorA
    public ClassA(IValidator validator) { }
}

public class ClassB : MyBaseClass, IClassB
{
    //problem: validator should ValidatorB
    public ClassB(IValidator validator) { }
}

public class OtherClass
{
    public OtherClass(IClassA a, IClassB b) { }
}


//on Main
var oc = container.Resolve<OtherClass>();

Dowolny pomysł?

EDYTOWAĆ

ZarejestrowałemValidatorA&nbsp;iValidatorB&nbsp;zNamed, teraz problem z tym, jak Castle Windsor może poprawnie wprowadzić ten walidator doClassA&nbsp;iClassB, czy jest na to sposób? czy jest jakieś lepsze rozwiązanie?

jeśli ktoś myśli, że mój projekt klasy jest zły, proszę o radę. Do tej pory myślę, że to poprawne. Tak, walidator ma specyficzną konfigurację dla określonej klasy. ale są powody, dla których jest to abstrakcyjne:

Validator jest obiektem złożonym, czasem powinien łączyć się z bazą danych, więc MUSZĘ przekazać interfejs zamiast implementacji do konstruktora dla powodu testowania jednostki.Nie ma możliwości użycia innego interfejsu dla żadnego Validatora, ponieważ jedyną metodą, której użyłem, jestValidateMyślęMyBaseClass.Validate()&nbsp;powszechnymetoda szablonu&nbsp;wzór nie jest?