我需要编写一个自定义基本模板,需要注入一个构造函数参数。
对于RazorEngine v2 this非常清楚地说明了如何完成。
如何在v3中完成自定义基本模板DI?我的意思是还有办法通过Func<>
来表达激活者吗?
答案 0 :(得分:3)
这仍然很有可能,配置模板服务的方法已经改变,因为我想将所有配置集中到一个界面中。以下网址(https://github.com/Antaris/RazorEngine/blob/release-3.0/src/Core/Tests/RazorEngine.Core.Tests/ActivatorTestFixture.cs)是我构建的单元测试示例演示使用DI与Unity,这个特别使用激活器。
DelegateActivator
命名空间中确实存在RazorEngine.Templating
,可以让您实现自己想要的目标。我正在寻找试图简化这一点的方法。您也可以使用Fluent配置API配置它:
var config = new FluentTemplateServiceConfiguration(c =>
c.ActivateUsing(context => {your code here}));
var service = new TemplateService(config);