本文整理汇总了C#中System.IO.FileSystemInfo.GetParent方法的典型用法代码示例。如果您正苦于以下问题:C# FileSystemInfo.GetParent方法的具体用法?C# FileSystemInfo.GetParent怎么用?C# FileSystemInfo.GetParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.FileSystemInfo
的用法示例。
在下文中一共展示了FileSystemInfo.GetParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeleteFileSystemInfo
private void DeleteFileSystemInfo(FileSystemInfo info)
{
info.CreationTime = info.LastWriteTime = info.LastAccessTime = MinTimestamp;
info.Attributes = FileAttributes.Normal;
info.Attributes = FileAttributes.NotContentIndexed;
for (int i = 0, tries = 0; i < FileNameErasePasses; ++tries)
{
string newPath = GenerateRandomFileName(info.GetParent(), info.Name.Length);
try
{
info.MoveTo(newPath);
++i;
}
catch (IOException e)
{
switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error())
{
case Win32ErrorCode.AccessDenied:
throw new UnauthorizedAccessException(S._("The file {0} could not " +
"be erased because the file's permissions prevent access to the file.",
info.FullName));
case Win32ErrorCode.SharingViolation:
if (tries > FileNameEraseTries)
throw new IOException(S._("The file {0} is currently in use and " +
"cannot be removed.", info.FullName), e);
Thread.Sleep(100);
break;
default:
throw;
}
}
}
for (int i = 0; i < FileNameEraseTries; ++i)
try
{
info.Delete();
break;
}
catch (IOException e)
{
switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error())
{
case Win32ErrorCode.AccessDenied:
throw new UnauthorizedAccessException(S._("The file {0} could not " +
"be erased because the file's permissions prevent access to the file.",
info.FullName), e);
case Win32ErrorCode.SharingViolation:
if (i > FileNameEraseTries)
throw new IOException(S._("The file {0} is currently in use and " +
"cannot be removed.", info.FullName), e);
Thread.Sleep(100);
break;
default:
throw;
}
}
}