public ITemplate CreateInstance(InstanceContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");

            return context.Loader.CreateInstance(context.TemplateType);
        }
        public ITemplate CreateInstance(InstanceContext context)
        {
            var constructor = context.TemplateType.GetConstructors().OrderByDescending(c => c.GetParameters().Length).FirstOrDefault();

            if (constructor == null)
            {
                throw new InvalidOperationException("Base template does not contain constructor");
            }

            var arguments = constructor.GetParameters().Select(parameter => _resolver(parameter.ParameterType)).ToArray();

            return (ITemplate)constructor.Invoke(arguments);
        }
Example #3
0
        public ITemplate CreateInstance(InstanceContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");

            var instance = context.Loader.CreateInstance(context.TemplateType);
            var configurable = instance as IConfigurable;
            if (configurable != null)
            {
                configurable.Configure(_context);
            }
            return instance;
        }
        public ITemplate CreateInstance(InstanceContext context)
        {
            Ensure.That(() => context).IsNotNull();

            ITemplate template = context.Loader.CreateInstance(context.TemplateType);
            IExtendedTemplate service = template as IExtendedTemplate;
            if (service != null)
            {
                service.Resource = kernel.Resolve<ITemplateResourceHelper>(new { templateBase = template });
                service.Url = kernel.Resolve<TemplateUrlHelper>();
            }
            return template;
        }
 public ITemplate CreateInstance(InstanceContext context)
 {
     return _activator(context);
 }
Example #6
0
 /// <summary>
 ///     Creates an instance of the specifed template.
 /// </summary>
 /// <param name="context">The instance context.</param>
 /// <returns>
 ///     An instance of <see cref="T:RazorEngine.Templating.ITemplate" />.
 /// </returns>
 public ITemplate CreateInstance(InstanceContext context)
 {
     return _resolver.Get(context.TemplateType) as ITemplate;
 }