/// <summary> /// Initializes a new instance of the <see cref="AssemblyFilteredDirectoryCatalog"/> class with /// <see cref="ComposablePartDefinition"/> objects based on the specified search pattern in the specified directory /// path path and its sub-directories. /// </summary> /// <param name="path"> /// Path to the directory to scan for assemblies to add to the catalog. /// </param> /// <param name="searchPattern"> /// The pattern to search with. The format of the pattern should be the same as specified for /// GetFiles. /// </param> /// <param name="assemblyNameCriteria"> /// The criteria which needs to be met by the found assemblies. /// </param> /// <exception cref="ArgumentNullException"> /// The value of the <paramref name="path"/> parameter was <see langword="null"/> /// . /// </exception> public AssemblyFilteredDirectoryCatalog( string path, string searchPattern, IAssemblyNameCriteria assemblyNameCriteria) { this.path = path; this.searchPattern = searchPattern; this.assemblyNameCriteria = assemblyNameCriteria; this.Initialize(); }
/// <summary> /// Initializes a new instance of the <see cref="AndAssemblyNameCriteria"/> class. /// </summary> /// <param name="firstCriteria"> /// The first criteria which needs to be met. /// </param> /// <param name="secondCriteria"> /// The second criteria which needs to be met. /// </param> public AndAssemblyNameCriteria(IAssemblyNameCriteria firstCriteria, IAssemblyNameCriteria secondCriteria) { this.firstCriteria = firstCriteria; this.secondCriteria = secondCriteria; }
/// <summary> /// Creates a combined criteria which consists of two criteria. /// </summary> /// <param name="firstCriteria"> /// The first criteria which needs to be met. /// </param> /// <param name="secondCriteria"> /// The second criteria which needs to be met. /// </param> /// <returns> /// A combined criteria which consists of two criteria. /// </returns> public static IAssemblyNameCriteria And(this IAssemblyNameCriteria firstCriteria, IAssemblyNameCriteria secondCriteria) { return(new AndAssemblyNameCriteria(firstCriteria, secondCriteria)); }