public static string Render(Context context, string input) { var reader = new StringReader(input); Assembly assembly = Assemble(reader); RazorTemplate <Context> template = CreateTemplateInstance(assembly, context); return(template.Render()); }
public static void Render(Context context, Stream input, Stream output) { var reader = new StreamReader(input); var writer = new StreamWriter(output); Assembly assembly = Assemble(reader); RazorTemplate <Context> template = CreateTemplateInstance(assembly, context); writer.Write(template.Render()); writer.Flush(); }
public static RazorTemplate <Context> CreateTemplateInstance(Assembly assembly, Context context) { //Type type = assembly.GetType("RazorOutput.Template"); Type type = assembly.GetExportedTypes().Single(); // there is only one RazorTemplate <Context> template = Activator.CreateInstance(type) as RazorTemplate <Context>; var property = type.GetProperty("Model"); property.SetValue(template, context, null); return(template); }