@@ -29,6 +29,25 @@ string result = template.Run(new
2929Console .WriteLine (result );
3030```
3131
32+ #### Strong typed model
33+ ``` cs
34+ string templateText = " Hello @Model.Name" ;
35+
36+ // yeah, heavy definition
37+ RazorEngineCompiledTemplate < RazorEngineTemplateBase < TestModel >> template = razorEngine .Compile <RazorEngineTemplateBase <TestModel >>(templateText );
38+
39+ string result = template .Run (instance =>
40+ {
41+ instance .Model = new TestModel ()
42+ {
43+ Name = " Hello" ,
44+ Items = new [] {3 , 1 , 2 }
45+ };
46+ });
47+
48+ Console .WriteLine (result );
49+ ```
50+
3251#### Save / Load compiled templates
3352Most expensive task is to compile template, you should not compile template every time you need to run it
3453``` cs
@@ -48,6 +67,11 @@ RazorEngineCompiledTemplate template1 = RazorEngineCompiledTemplate.LoadFromFile
4867RazorEngineCompiledTemplate template2 = RazorEngineCompiledTemplate .LoadFromStream (myStream );
4968```
5069
70+ ``` cs
71+ RazorEngineCompiledTemplate < MyBase > template1 = RazorEngineCompiledTemplate <MyBase >.LoadFromFile <MyBase >(" myTemplate.dll" );
72+ RazorEngineCompiledTemplate < MyBase > template2 = RazorEngineCompiledTemplate <MyBase >.LoadFromStream <MyBase >(myStream );
73+ ```
74+
5175#### Simplest thread safe caching pattern
5276
5377``` cs
@@ -124,19 +148,36 @@ public class CustomModel : RazorEngineTemplateBase
124148}
125149```
126150
151+ ### Referencing assemblies
152+ ``` cs
153+ RazorEngine razorEngine = new RazorEngine ();
154+ RazorEngineCompiledTemplate compiledTemplate = razorEngine .Compile (templateText , builder =>
155+ {
156+ builder .AddAssemblyReferenceByName (" System.Security" ); // by name
157+ builder .AddAssemblyReference (typeof (System .IO .File )); // by type
158+ builder .AddAssemblyReference (Assembly .Load (" source" )); // by reference
159+ });
160+
161+ string result = compiledTemplate .Run (new { name = " Hello" });
162+ ```
127163
128164
129165#### Credits
130166This package is inspired by [ Simon Mourier SO post] ( https://stackoverflow.com/a/47756437/267736 )
131167
132168
133169#### Changelog
170+ * 2020.3.3
171+ * Model with generic type arguments compiling fix
172+ * 2020.3.2
173+ * External assembly referencing
174+ * Linq included by default
134175* 2020.3.1
135176 * In attribute rendering fix #4
136177* 2020.2.4
137- * null values in model correct handling
138- * null model fix
139- * netstandard2 insted of netcore3.1
178+ * Null values in model correct handling
179+ * Null model fix
180+ * Netstandard2 insted of netcore3.1
140181* 2020.2.3
141182 * Html attribute rendering fix
142183 * Html attribute rendering tests
0 commit comments