// ****************************************************************** // * * // * Constructors * // * * // ****************************************************************** /// <summary> /// Constructor /// </summary> /// <param name="wildcardString"> /// A string that specifies a pattern to search for. This argument can /// include the standard dos wildcards <i>'*'</i> and/or <i>'?'</i>. /// </param> public Entry(string wildcardString) { // Store arguments into members m_compareMode = CreateCompareMode(wildcardString); m_wildcardString = wildcardString; m_wildcardChunks = m_compareMode == WildcardCompareModes.IsComplex ? CreateWildcardChunks(wildcardString) : null; }
// ****************************************************************** // * * // * Constructors * // * * // ****************************************************************** /// <summary> /// Constructor /// </summary> /// <param name="wildcardString"> /// A string that specifies a pattern to search for. This argument can /// include the standard dos wildcards <i>'*'</i> and/or <i>'?'</i>. /// Multiple patterns can be specified by using a semicolon separator /// (e.g. "*.exe;*.bat") /// </param> /// <param name="caseSensitive"> /// A bool that indicates if the test should be case sensitive or not /// </param> public WildcardExpression( string wildcardString, bool caseSensitive) { // Evaluate wildcard expression m_compareMode = CreateCompareMode(wildcardString); m_wildcardOrig = wildcardString; m_wildcardClean = wildcardString.CleanUp(); m_caseSensitive = caseSensitive; // Check casing if (!m_caseSensitive) { m_wildcardClean = m_wildcardClean.ToLower(); } // Check if we have a non-trivial expression if (m_compareMode == WildcardCompareModes.IsPlainString || m_compareMode == WildcardCompareModes.IsComplex) { // Entries are required to evaluate this expression string[] expressions = Split(m_wildcardClean); // Create an entry for each expression if (expressions.Length != 0) { // Create entries m_entries = new Entry[expressions.Length]; for (int i = 0; i < expressions.Length; i++) { m_entries[i] = new Entry(expressions[i]); } } else { // Dummy expression m_entries = null; m_compareMode = WildcardCompareModes.IsEmpty; } } else { // Entries are not required m_entries = null; } }