2012-01-14 3 views
3

Je dois écrire un modèle de base personnalisé pour lequel un paramètre constructeur doit être injecté.Injection de dépendances RazorEngine v3

Pour RazorEngine v2 this illustre très clairement comment doit être fait.

Comment le modèle de base de données personnalisé DI doit-il être effectué dans v3? Je veux dire est-il encore un moyen d'exprimer l'activateur à travers Func <>?

Répondre

3

Ceci est encore très possible, la méthode par laquelle vous configurez votre service de template a changé car je voulais centraliser toute la configuration dans une 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 démontre en utilisant DI avec Unity, celui-ci utilise spécifiquement un activateur. Un DelegateActivator existe dans l'espace de noms RazorEngine.Templating qui vous permettra d'atteindre 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);