BlackLinks.Templates.TemplateSource.FromResource C# (CSharp) Method

FromResource() public static method

public static FromResource ( Assembly targetAssembly, string fullyQualifiedResourcePath, string discoveryPath ) : TemplateSource
targetAssembly System.Reflection.Assembly
fullyQualifiedResourcePath string
discoveryPath string
return TemplateSource
        public static TemplateSource FromResource(Assembly targetAssembly, string fullyQualifiedResourcePath, string discoveryPath)
        {
            Stream resourceStream = targetAssembly.GetManifestResourceStream (fullyQualifiedResourcePath);
            if (resourceStream == null)
            {
                throw new TemplateSourceException (string.Format ("Invalid resource '{0}' in assembly '{1}'", fullyQualifiedResourcePath, targetAssembly.FullName));
            }
            FileInfo fileInfo = new FileInfo(fullyQualifiedResourcePath);
            TemplateSource source = new TemplateSource ();
            source.DiscoveryPath = discoveryPath;
            source.ReferenceFilePath = fullyQualifiedResourcePath;
            source.SourceStream = resourceStream;
            source.TemplateFileExtension = fileInfo.Extension;
            return source;
        }

Same methods

TemplateSource::FromResource ( string fullyQualifiedResourcePath, string discoveryPath ) : TemplateSource

Usage Example

        public TemplatesCompilationResult AddEmbeddedTemplates(Assembly assembly)
        {
            if (assembly == null)
            {
                throw new ArgumentNullException("assembly");
            }

            List <TemplateSource> sources = new List <TemplateSource> ();

            foreach (var resourceName in assembly.GetManifestResourceNames())
            {
                FileInfo fileInfo = new FileInfo(resourceName);

                TemplateSource source = TemplateSource.FromResource(assembly, resourceName, fileInfo.Name.Replace(fileInfo.Extension, string.Empty));
                sources.Add(source);
            }
            return(this.Compile(sources.ToArray()));
        }