J'ai actuellement l'enregistrement ci-dessous mis en placeenregistrement automatique du château de Windsor
private static void AddFrameworkComponentsTo(IWindsorContainer container)
{
container.AddComponent<ITypeConverter, TypeConversionFacade>();
container.AddComponent<Framework.Conversion.ITypeConverter<string, int>, StringConverter>();
container.AddComponent<Framework.Conversion.ITypeConverter<string, decimal>, StringConverter>();
container.AddComponent<Framework.Conversion.ITypeConverter<string, DateTime>, StringConverter>();
}
Quelle est la meilleure façon d'éviter d'avoir à enregistrer chaque interface au même composant? Comme vous pouvez le voir, ma classe "StringConverter" implémente plusieurs interfaces différentes, et la liste est susceptible de croître.
Modifier Je viens juste de réaliser que le précède ne fonctionne même pas parce que la clé se plaint, et il fallait changer ci-après:
container.AddComponent<Framework.Conversion.ITypeConverter<string, int>, StringConverter>("ITypeConverter<string, int>");
container.AddComponent<Framework.Conversion.ITypeConverter<string, decimal>, StringConverter>("ITypeConverter<string, decimal>");
container.AddComponent<Framework.Conversion.ITypeConverter<string, DateTime>, StringConverter>("ITypeConverter<string, DateTime>");
Quelle est la meilleure façon de gérer cela?
Le code ci-dessus devrait fonctionner correctement, quelle exception voyez-vous à propos de la clé? quelle version de Windsor utilisez-vous? –
"Il ya un composant déjà enregistré pour la clé donnée MyCompany.Framework.Conversion.StringConverter" –
ahh, juste ..... –