/// <summary>
/// 获得拖放列表中符合要求的拖放项
/// </summary>
/// <param name="data">拖放数据</param>
/// <param name="enableFolder">是否允许文件夹</param>
/// <param name="enableFile">是否允许文件</param>
/// <param name="fileExtensions">允许的文件类型</param>
/// <returns>返回符合要求的文件列表</returns>
public static IEnumerable <string> GetAvailableFileItem(this DataObject data, bool enableFolder, bool enableFile, HashSet <string> fileExtensions = null)
{
if (!data.ContainsFileDropList())
{
return(null);
}
return(data.GetFileDropList().Cast <string>().Where(
s =>
(enableFolder && System.IO.Directory.Exists(s))
||
(enableFile && System.IO.File.Exists(s) && (fileExtensions == null || fileExtensions.Count == 0 || fileExtensions.Contains("*") || fileExtensions.Contains(System.IO.Path.GetExtension(s).Trim('.'))))
));
}