Skip to content

Commit f3bbcbc

Browse files
committed
IRazorEngineTemplate interface
1 parent 1d6cc57 commit f3bbcbc

File tree

6 files changed

+24
-8
lines changed

6 files changed

+24
-8
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using System.Threading.Tasks;
2+
3+
namespace RazorEngineCore
4+
{
5+
public interface IRazorEngineTemplate
6+
{
7+
dynamic Model { get; set; }
8+
void WriteLiteral(string literal = null);
9+
void Write(object obj = null);
10+
void BeginWriteAttribute(string name, string prefix, int prefixOffset, string suffix, int suffixOffset, int attributeValuesCount);
11+
void WriteAttributeValue(string prefix, int prefixOffset, object value, int valueOffset, int valueLength, bool isLiteral);
12+
void EndWriteAttribute();
13+
Task ExecuteAsync();
14+
string Result();
15+
}
16+
}

RazorEngineCore/RazorEngine.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace RazorEngineCore
1313
{
1414
public class RazorEngine
1515
{
16-
public RazorEngineCompiledTemplate<T> Compile<T>(string content, Action<RazorEngineCompilationOptionsBuilder> builderAction = null) where T : RazorEngineTemplateBase
16+
public RazorEngineCompiledTemplate<T> Compile<T>(string content, Action<RazorEngineCompilationOptionsBuilder> builderAction = null) where T : IRazorEngineTemplate
1717
{
1818
RazorEngineCompilationOptionsBuilder compilationOptionsBuilder = new RazorEngineCompilationOptionsBuilder();
1919

@@ -27,7 +27,7 @@ public RazorEngineCompiledTemplate<T> Compile<T>(string content, Action<RazorEng
2727
return new RazorEngineCompiledTemplate<T>(memoryStream);
2828
}
2929

30-
public Task<RazorEngineCompiledTemplate<T>> CompileAsync<T>(string content, Action<RazorEngineCompilationOptionsBuilder> builderAction = null) where T : RazorEngineTemplateBase
30+
public Task<RazorEngineCompiledTemplate<T>> CompileAsync<T>(string content, Action<RazorEngineCompilationOptionsBuilder> builderAction = null) where T : IRazorEngineTemplate
3131
{
3232
return Task.Factory.StartNew(() => this.Compile<T>(content: content, builderAction: builderAction));
3333
}

RazorEngineCore/RazorEngineCompiledTemplate.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public async Task<string> RunAsync(object model = null)
9696
model = new AnonymousTypeWrapper(model);
9797
}
9898

99-
RazorEngineTemplateBase instance = (RazorEngineTemplateBase) Activator.CreateInstance(this.templateType);
99+
IRazorEngineTemplate instance = (IRazorEngineTemplate) Activator.CreateInstance(this.templateType);
100100
instance.Model = model;
101101

102102
await instance.ExecuteAsync();

RazorEngineCore/RazorEngineCompiledTemplateT.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace RazorEngineCore
77
{
8-
public class RazorEngineCompiledTemplate<T> where T : RazorEngineTemplateBase
8+
public class RazorEngineCompiledTemplate<T> where T : IRazorEngineTemplate
99
{
1010
private readonly MemoryStream assemblyByteCode;
1111
private readonly Type templateType;

RazorEngineCore/RazorEngineCore.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<PropertyGroup>
33
<TargetFramework>netstandard2.0</TargetFramework>
44
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
5-
<Version>2020.5.1</Version>
5+
<Version>2020.5.2</Version>
66
<Authors>Alexander Selishchev, Simon Mourier, William David Cossey</Authors>
77
<PackageProjectUrl>https://github.com/adoconnection/RazorEngineCore</PackageProjectUrl>
88
<Description>ASP.NET Core 3.1 Razor Template Engine</Description>
9-
<AssemblyVersion>2020.5.1.0</AssemblyVersion>
10-
<FileVersion>2020.5.1.0</FileVersion>
9+
<AssemblyVersion>2020.5.2.0</AssemblyVersion>
10+
<FileVersion>2020.5.2.0</FileVersion>
1111
</PropertyGroup>
1212
<ItemGroup>
1313
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="3.1.4" />

RazorEngineCore/RazorEngineTemplateBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace RazorEngineCore
55
{
6-
public abstract class RazorEngineTemplateBase
6+
public abstract class RazorEngineTemplateBase : IRazorEngineTemplate
77
{
88
private readonly StringBuilder stringBuilder = new StringBuilder();
99

0 commit comments

Comments
 (0)