Question

J'ai besoin d'écrire un modèle de base personnalisé qui doit avoir un paramètre de constructeur injecté.

Pour RazorEngine v2 ceci illustre très clairement comment procéder.

Comment le modèle de base DI personnalisé doit-il être réalisé dans la v3?Je veux dire, y a-t-il encore un moyen d'exprimer l'activateur via Func<>?

Était-ce utile?

La solution

C'est toujours très possible, la méthode par laquelle vous configurez votre service de modèle a changé car je voulais centraliser toute la configuration dans une seule interface.L'url suivante (https://github.com/Antaris/RazorEngine/blob/release-3.0/src/Core/Tests/RazorEngine.Core.Tests/ActivatorTestFixture.cs) est un exemple de test unitaire que j'ai construit quidémontre l'utilisation de DI avec Unity, celui-ci utilise spécifiquement un activateur.

Un DelegateActivator existe dans l'espace de noms RazorEngine.Templating qui vous permettra de réaliser ce que vous voulez.Je cherche des moyens d'essayer de simplifier cela.Vous pouvez également le configurer à l'aide de l'API de configuration Fluent:

var config = new FluentTemplateServiceConfiguration(c =>
    c.ActivateUsing(context => {your code here}));

var service = new TemplateService(config);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top