我需要编写一个自定义基本模板,该模板需要注入构造函数参数。
对于RazorEngine v2,this非常清楚地说明了必须完成的工作。
自定义基本模板DI如何在v3中完成?我的意思是还有一种方法可以通过Func<>
表达激活剂吗?
最佳答案
这仍然很有可能,因为我想将所有配置集中到一个界面中,所以配置模板服务的方法已更改。以下网址(https://github.com/Antaris/RazorEngine/blob/release-3.0/src/Core/Tests/RazorEngine.Core.Tests/ActivatorTestFixture.cs)是我构建的单元测试的示例演示了如何在Unity中使用DI,这一具体是使用激活器。DelegateActivator
名称空间中确实存在RazorEngine.Templating
,它将使您能够实现所需的目标。我正在寻找简化方法。您还可以使用Fluent配置API对其进行配置:
var config = new FluentTemplateServiceConfiguration(c =>
c.ActivateUsing(context => {your code here}));
var service = new TemplateService(config);
关于dependency-injection - RazorEngine v3依赖注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8865018/