@@ -11,32 +11,69 @@ public abstract class RazorEngineTemplateBase : IRazorEngineTemplate
1111
1212 public dynamic Model { get ; set ; }
1313
14- public virtual void WriteLiteral ( string literal = null )
14+ public void WriteLiteral ( string literal = null )
15+ {
16+ WriteLiteralAsync ( literal ) . GetAwaiter ( ) . GetResult ( ) ;
17+ }
18+
19+ public virtual Task WriteLiteralAsync ( string literal = null )
1520 {
1621 this . stringBuilder . Append ( literal ) ;
22+ return Task . CompletedTask ;
23+ }
24+
25+ public void Write ( object obj = null )
26+ {
27+ WriteAsync ( obj ) . GetAwaiter ( ) . GetResult ( ) ;
1728 }
1829
19- public virtual void Write ( object obj = null )
30+ public virtual Task WriteAsync ( object obj = null )
2031 {
2132 this . stringBuilder . Append ( obj ) ;
33+ return Task . CompletedTask ;
34+ }
35+
36+ public void BeginWriteAttribute ( string name , string prefix , int prefixOffset , string suffix , int suffixOffset ,
37+ int attributeValuesCount )
38+ {
39+ BeginWriteAttributeAsync ( name , prefix , prefixOffset , suffix , suffixOffset , attributeValuesCount ) . GetAwaiter ( ) . GetResult ( ) ;
2240 }
2341
24- public virtual void BeginWriteAttribute ( string name , string prefix , int prefixOffset , string suffix , int suffixOffset , int attributeValuesCount )
42+ public virtual Task BeginWriteAttributeAsync ( string name , string prefix , int prefixOffset , string suffix , int suffixOffset , int attributeValuesCount )
2543 {
2644 this . attributeSuffix = suffix ;
2745 this . stringBuilder . Append ( prefix ) ;
46+ return Task . CompletedTask ;
47+ }
48+
49+ public void WriteAttributeValue ( string prefix , int prefixOffset , object value , int valueOffset , int valueLength ,
50+ bool isLiteral )
51+ {
52+ WriteAttributeValueAsync ( prefix , prefixOffset , value , valueOffset , valueLength , isLiteral ) . GetAwaiter ( ) . GetResult ( ) ;
2853 }
2954
30- public virtual void WriteAttributeValue ( string prefix , int prefixOffset , object value , int valueOffset , int valueLength , bool isLiteral )
55+ public virtual Task WriteAttributeValueAsync ( string prefix , int prefixOffset , object value , int valueOffset , int valueLength , bool isLiteral )
3156 {
3257 this . stringBuilder . Append ( prefix ) ;
3358 this . stringBuilder . Append ( value ) ;
59+ return Task . CompletedTask ;
3460 }
3561
36- public virtual void EndWriteAttribute ( )
62+ public void EndWriteAttribute ( )
63+ {
64+ EndWriteAttributeAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
65+ }
66+
67+ public virtual Task EndWriteAttributeAsync ( )
3768 {
3869 this . stringBuilder . Append ( this . attributeSuffix ) ;
3970 this . attributeSuffix = null ;
71+ return Task . CompletedTask ;
72+ }
73+
74+ public void Execute ( )
75+ {
76+ ExecuteAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
4077 }
4178
4279 public virtual Task ExecuteAsync ( )
@@ -46,7 +83,12 @@ public virtual Task ExecuteAsync()
4683
4784 public virtual string Result ( )
4885 {
49- return this . stringBuilder . ToString ( ) ;
86+ return ResultAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
87+ }
88+
89+ public virtual Task < string > ResultAsync ( )
90+ {
91+ return Task . FromResult < string > ( this . stringBuilder . ToString ( ) ) ;
5092 }
5193 }
5294}
0 commit comments