检查c#中路径列表的权限

时间:2014-04-09 06:00:59

标签: c# path

我有一个检查给定路径的权限及其工作正常的方法,如下所示。

public bool IsAvailable(string path)
        {
            bool hasPermissions = false;

            if (Directory.Exists(path))
            {
                var permission = new FileIOPermission(FileIOPermissionAccess.Write, path);
                try
                {
                    permission.Demand();
                    hasPermissions = true;
                }
                catch(SecurityException e)
                {
                    hasPermissions = false;
                }
            }

            return hasPermissions;
        }

现在我的问题是我想检查路径列表的权限我的意思是我会在方法的参数中传递路径列表,如果它具有所有路径的权限,它应该返回true或false参数如下所示

public bool IsAvailable(List<string> pathList)
{
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

超载的魔力:

public bool IsAvailable(List<string> pathList)
{
    return pathList.All(path => IsAvailable(path));
}

由于这两种方法具有不同的签名(不同的参数意味着不同的定义),它们可以共存。这只是为列表path中的每个pathList调用现有方法,检查所有方法是否都有效。