FileIOPermission.SetPathList 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置指定文件和目录的特定访问权限,以替换现有的权限状态。
重载
SetPathList(FileIOPermissionAccess, String) |
设置指定文件或目录的特定访问权限,以替换现有的权限状态。 |
SetPathList(FileIOPermissionAccess, String[]) |
设置对指定文件和目录的指定访问权限,同时用一组新路径替换指定访问权限的当前状态。 |
SetPathList(FileIOPermissionAccess, String)
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
设置指定文件或目录的特定访问权限,以替换现有的权限状态。
public:
void SetPathList(System::Security::Permissions::FileIOPermissionAccess access, System::String ^ path);
public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);
member this.SetPathList : System.Security.Permissions.FileIOPermissionAccess * string -> unit
Public Sub SetPathList (access As FileIOPermissionAccess, path As String)
参数
- access
- FileIOPermissionAccess
FileIOPermissionAccess 值的按位组合。
- path
- String
文件或目录的绝对路径。
例外
示例
下面的代码示例演示如何使用 FileIOPermission.SetPathList(FileIOPermissionAccess, String) 方法。
bool SetGetPathListDemo()
{
try
{
Console::WriteLine( "********************************************************\n" );
FileIOPermission^ fileIOPerm1;
Console::WriteLine( "Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt" );
fileIOPerm1 = gcnew FileIOPermission( FileIOPermissionAccess::AllAccess,"C:\\Examples\\Test\\TestFile.txt" );
Console::WriteLine( "Adding 'C:\\Temp' to the write access list, and \n 'C:\\Examples\\Test' to read access." );
fileIOPerm1->AddPathList( FileIOPermissionAccess::Write, "C:\\Temp" );
fileIOPerm1->AddPathList( FileIOPermissionAccess::Read, "C:\\Examples\\Test" );
array<String^>^paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Read );
Console::WriteLine( "Read access before SetPathList = " );
IEnumerator^ myEnum = paths->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ path = safe_cast<String^>(myEnum->Current);
Console::WriteLine( "\t{0}", path );
}
Console::WriteLine( "Setting the read access list to \n'C:\\Temp'" );
fileIOPerm1->SetPathList( FileIOPermissionAccess::Read, "C:\\Temp" );
paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Read );
Console::WriteLine( "Read access list after SetPathList = " );
IEnumerator^ myEnum1 = paths->GetEnumerator();
while ( myEnum1->MoveNext() )
{
String^ path = safe_cast<String^>(myEnum1->Current);
Console::WriteLine( "\t{0}", path );
}
paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Write );
Console::WriteLine( "Write access list after SetPathList = " );
IEnumerator^ myEnum2 = paths->GetEnumerator();
while ( myEnum2->MoveNext() )
{
String^ path = safe_cast<String^>(myEnum2->Current);
Console::WriteLine( "\t{0}", path );
}
Console::WriteLine( "Write access = \n{0}", fileIOPerm1->GetPathList( FileIOPermissionAccess::AllAccess ) );
}
catch ( ArgumentException^ e )
{
// FileIOPermissionAccess.AllAccess can not be used as a parameter for GetPathList.
Console::WriteLine( "An ArgumentException occurred as a result of using AllAccess. This property cannot be used as a parameter in GetPathList because it represents more than one type of file variable access. : \n{0}", e );
}
return true;
}
private bool SetGetPathListDemo()
{
try
{
Console.WriteLine("********************************************************\n");
FileIOPermission fileIOPerm1;
Console.WriteLine("Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt");
fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.AllAccess, "C:\\Examples\\Test\\TestFile.txt");
Console.WriteLine("Adding 'C:\\Temp' to the write access list, and \n 'C:\\Examples\\Test' to read access.");
fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\\Temp");
fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\\Examples\\Test");
string[] paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read);
Console.WriteLine("Read access before SetPathList = ");
foreach (string path in paths)
{
Console.WriteLine("\t" + path);
}
Console.WriteLine("Setting the read access list to \n'C:\\Temp'");
fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\Temp");
paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read);
Console.WriteLine("Read access list after SetPathList = ");
foreach (string path in paths)
{
Console.WriteLine("\t" + path);
}
paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write);
Console.WriteLine("Write access list after SetPathList = ");
foreach (string path in paths)
{
Console.WriteLine("\t" + path);
}
Console.WriteLine("Write access = \n" +
fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess));
}
catch (ArgumentException e)
{
// FileIOPermissionAccess.AllAccess can not be used as a parameter for GetPathList.
Console.WriteLine("An ArgumentException occurred as a result of using AllAccess. "
+ "This property cannot be used as a parameter in GetPathList "
+ "because it represents more than one type of file variable access. : \n" + e);
}
return true;
}
Private Function SetGetPathListDemo() As Boolean
Try
Console.WriteLine("********************************************************" & ControlChars.Lf)
Dim fileIOPerm1 As FileIOPermission
Console.WriteLine("Creating a FileIOPermission with AllAccess rights for 'C:\Examples\Test\TestFile.txt")
fileIOPerm1 = New FileIOPermission(FileIOPermissionAccess.AllAccess, "C:\Examples\Test\TestFile.txt")
Console.WriteLine("Adding 'C:\Temp' to the write access list, and " & ControlChars.Lf & " 'C:\Examples\Test' to read access.")
fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\Temp")
fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\Examples\Test")
Dim paths As String() = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read)
Console.WriteLine("Read access before SetPathList = ")
Dim path As String
For Each path In paths
Console.WriteLine((ControlChars.Tab & path))
Next path
Console.WriteLine("Setting the read access list to " & ControlChars.Lf & "'C:\Temp'")
fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\Temp")
paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read)
Console.WriteLine("Read access list after SetPathList = ")
For Each path In paths
Console.WriteLine((ControlChars.Tab & path))
Next path
paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write)
Console.WriteLine("Write access list after SetPathList = ")
For Each path In paths
Console.WriteLine((ControlChars.Tab & path))
Next path
Dim pathList() As String
pathList = fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess)
Catch e As ArgumentException
' FileIOPermissionAccess.AllAccess can not be used as a parameter for GetPathList.
Console.WriteLine(("An ArgumentException occurred as a result of using AllAccess. " & "This property cannot be used as a parameter in GetPathList " & "because it represents more than one type of file variable access. : " & ControlChars.Lf & e.ToString()))
End Try
Return True
End Function 'SetGetPathListDemo
注解
将覆盖指定访问类型的当前权限的先前状态。 以下代码将 C:\temp 的访问设置为 Read。
fileIOPerm1->SetPathList(FileIOPermissionAccess::Read, "C:\\temp");
fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\temp");
fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\temp")
以下代码不会覆盖此访问,因为访问类型不同。
fileIOPerm1->SetPathList(FileIOPermissionAccess::Write, "C:\\documents");
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, "C:\\documents");
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, "C:\\documents")
适用于
SetPathList(FileIOPermissionAccess, String[])
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
- Source:
- FileIOPermission.cs
设置对指定文件和目录的指定访问权限,同时用一组新路径替换指定访问权限的当前状态。
public:
void SetPathList(System::Security::Permissions::FileIOPermissionAccess access, cli::array <System::String ^> ^ pathList);
public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);
member this.SetPathList : System.Security.Permissions.FileIOPermissionAccess * string[] -> unit
Public Sub SetPathList (access As FileIOPermissionAccess, pathList As String())
参数
- access
- FileIOPermissionAccess
FileIOPermissionAccess 值的按位组合。
- pathList
- String[]
包含文件和目录的绝对路径的数组。
例外
注解
将覆盖指定访问类型的当前权限的先前状态。 以下代码将 C:\temp 的访问设置为 Read。
以下代码不会覆盖此访问,因为访问类型不同。
fileIOPerm1->SetPathList(FileIOPermissionAccess::Write, gcnew array<String^> {"C:\\pictures", "C:\\music"});
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, new string[] {"C:\\pictures", "C:\\music"});
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, New String() {"C:\\pictures", "C:\\music"})