public virtual bool TryLookup(string name, PatternTable table, out object value) { if (name == null) { value = null; return(false); } if (FileExtensions?.Count > 0) { if (FileExtensionAllowSubFolders || !ContainsSlash(name)) { foreach (var fileExtension in FileExtensions) { if (name.EndsWith(fileExtension, StringComparison.OrdinalIgnoreCase)) { value = name; return(true); } } } } if (Parser != null) { value = Parser.Invoke(name, table); if (value != null) { return(true); } } value = null; return(false); }
public PatternDefinition( string pattern, PatternTable table, IEnumerable <KeyValuePair <string, object> > defaults) { Pattern = pattern; Table = table; Defaults = defaults.ToDictionary(p => p.Key, p => p.Value); }
public PatternDefinition(string pattern, PatternTable table) : this(pattern, table, Enumerable.Empty <KeyValuePair <string, object> >()) { }