Я не знаю о методе, встроенном в .NET, но дублировать его с помощью регулярных выражений тривиально:
public static bool PathMatchSpec(String path, String spec)
{
String specAsRegex = Regex.Escape(spec).Replace("\\*", ".*").Replace("\\?", ".") + "$";
return Regex.IsMatch(path, specAsRegex);
}
Очевидно, это предполагает, что на пространство имен System.Text.RegularExpressions есть ссылка. Если вы собираетесь делать это с той же спецификацией, вы также можете кэшировать Regex.
EDIT TO ADD: P / Invoke действительно является опцией, но подпись для PathMatchSpec указывает, что она принимает строку ANSI, поэтому вам придется выполнять преобразование набора символов для каждого вызова. Имейте это в виду, если вы идете по этому пути. В этом случае PathMatchSpecEx , вероятно, будет предпочтительным.