/// <summary> /// Initializes a new instance of the <see cref="XiptonEngineHost"/> class. /// </summary> /// <param name="config">The config holds all settings that are needed to initialzie the host.</param> public XiptonEngineHost(RazorConfig config) : base(config.Templates.Language) { if (config == null) throw new ArgumentNullException("config"); _defaultNamespace = "Xipton.Razor.Generated"; _config = config.AsReadonly(); _defaultBaseClass = _config.Templates.NonGenericBaseTypeName; _namespaceImports = new HashSet<string>(); _config.Namespaces.ToList().ForEach(ns => _namespaceImports.Add(ns)); // the GeneratedClassContext defines the methods that are generated to handle the template // control like writing the generated output and also handle other control operations like // defining sections inside the template _generatedClassContext = new GeneratedClassContext("Execute", "Write", "WriteLiteral", "WriteTo", "WriteLiteralTo", typeof(HelperResult).FullName, "DefineSection") { ResolveUrlMethodName = "ResolveUrl", }; }