示例#1
0
        /// <exclude />
        public static XhtmlDocument Render(IDataReference dataToRender, XhtmlRenderingType renderingType)
        {
            Type dataTypeToRender = dataToRender.ReferencedType;
            IEnumerable <XhtmlRendererProviderAttribute> rendererAttributes = dataTypeToRender.GetCustomInterfaceAttributes <XhtmlRendererProviderAttribute>();

            XhtmlRendererProviderAttribute rendererAttribute = rendererAttributes.FirstOrDefault(f => f.SupportedRenderingType == renderingType);

            if (rendererAttribute == null)
            {
                throw new NotImplementedException(string.Format("No '{0}' xhtml renderer found for type '{1}'", renderingType, dataTypeToRender.FullName));
            }

            IDataXhtmlRenderer renderer = rendererAttribute.BuildRenderer();

            return(renderer.Render(dataToRender));
        }