此API使用的模式匹配逻辑是否公开,以便在.Net Framework中的某处重用?
我正在寻找FilePatternMatch( string searchPattern, stringfileNameToTest )
形式的东西。
我正在为WP7实施一个临时解决方法,而不是过滤此重载的结果,我希望解决方案能够提供一致的体验,并避免在暴露时重新发明此功能。
如果没有公开行为以供重用,那么正则表达式解决方案(如glob pattern matching in .NET)就足够了,这将节省我花时间测试行为应该是什么的精细细节。
也许在上面链接的帖子中发布的答案之一是正确的。由于我还没有确认确切的行为,我无法一眼就确定这一点。如果您知道它的行为与问题标题中引用的API完全匹配,请随意指出其中一个答案。
我可以假设模式匹配与DOS处理的方式一致*和?在8.3文件名中(我熟悉该实现的行为细微差别),但是假设Microsoft已经在十年内发展了文件名的模式匹配行为,这是合理的,因为我认为我会在继续这个假设之前检查。
答案 0 :(得分:0)
IsolatedStorageFile.GetFileNames()
使用的模式匹配规则与System.IO.Path
中使用的模式匹配规则相同。它们都使用Win32 API FindFirstFile / FindNextFile函数,即:
目录或路径以及文件 名称,可以包含通配符 字符,例如星号 (*)或问号(?)。
此参数不应为NULL,a 无效的字符串(例如,空 字符串或缺少的字符串 终止空字符)或结束 一个尾随反斜杠()。
如果字符串以通配符结尾, 句点(。)或目录名称 用户必须具有访问权限 根和所有子目录 路径。
在此功能的ANSI版本中, 名称仅限于MAX_PATH 字符。将此限制扩展到 32,767个宽字符,称之为 Unicode版本的功能和 将“\?\”添加到路径中。更多 信息,请参阅命名文件