/// <summary>
        /// Gets an <see cref="AssemblyResourceFileSource"/> from the specified <see cref="Assembly"/> only
        /// including resources with the specified resource qualifier.
        /// </summary>
        /// <param name="assembly">The assembly.</param>
        /// <param name="resourceQualifier">The resource qualifier.</param>
        /// <returns>AssemblyResourceFileSource.</returns>
        public static AssemblyResourceFileSource WithResourceQualifier(Assembly assembly, string resourceQualifier)
        {
            AssemblyResourceReader assemblyResourceReader = new AssemblyResourceReader(assembly);

            IEnumerable <string> files = assemblyResourceReader.GetResources()
                                         .Where(n => n.StartsWith(resourceQualifier));

            return(new AssemblyResourceFileSource(assemblyResourceReader, files));
        }
        /// <summary>
        /// Gets an <see cref="AssemblyResourceFileSource"/> from the specified <see cref="Assembly"/> contianing
        /// the specified resources.
        /// </summary>
        /// <param name="assembly">The assembly.</param>
        /// <param name="resources">The resources.</param>
        /// <returns>AssemblyResourceFileSource.</returns>
        public static AssemblyResourceFileSource WithResources(Assembly assembly, IEnumerable <string> resources)
        {
            AssemblyResourceReader assemblyResourceReader = new AssemblyResourceReader(assembly);

            return(new AssemblyResourceFileSource(assemblyResourceReader, resources));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AssemblyResourceFileSource"/> class.
 /// </summary>
 /// <param name="assemblyResourceReader">The assembly resource reader.</param>
 /// <param name="resourceNames">The resource names.</param>
 public AssemblyResourceFileSource(AssemblyResourceReader assemblyResourceReader, IEnumerable <string> resourceNames)
 {
     this.assemblyResourceReader = assemblyResourceReader;
     this.resources = new HashSet <string>(resourceNames, StringComparer.Ordinal);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AssemblyResourceFileSource"/> class.
 /// </summary>
 /// <param name="assemblyResourceReader">The assembly resource reader.</param>
 public AssemblyResourceFileSource(AssemblyResourceReader assemblyResourceReader)
     : this(assemblyResourceReader, assemblyResourceReader.GetResources())
 {
 }