我需要编写一个自定义基本模板,该模板需要注入构造函数参数。

对于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/

10-10 22:53