学习一下.NET文件类库(2)
File.SetAttributes(file,File.GetAttributes(file)|FileAttributes.Hidden);
Console.WriteLine("文件被隐藏");
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Console.ReadKey();
}
}
}
代码简单的也没什么看的,就那个意思,主要解决下面一行代码的取值方法:
if (File.GetAttributes(file) & FileAttributes.Hidden) == FileAttributes.Hidden)
这一句是怎么判断文件属性是否包含Hidden属性值,那么我们这里就来跟踪MSDN进行讲解下,大侠如有高见就给我留个言,我也学习一下。
1.File.GetAttributes 方法获取在此路径上的文件的 FileAttributes。
2.继续进入FileAttributes的解释:此枚举有一个 FlagsAttribute属性,允许其成员值按位组合。
3..我们再看FlagsAttribute属性:
只有要对数值执行按位运算(AND、OR、XOR)时才对枚举使用 FlagsAttribute 自定义属性。
• 用 2 的幂(即 1、2、4、8 等)定义枚举常量。这意味着组合的枚举常量中的各个标志都不重叠。
请考虑为常用标志组合创建一个枚举常量。例如,如果用于文件 I/O 操作的枚举包含枚举常量 Read = 1 和 Write = 2,请考虑创建枚举常量 ReadWrite = Read OR Write,该常量组合了 Read 和 Write 标志。此外,在某些情况下,可能会将用于组合标志的按位 OR 运算视为一种高级概念,在简单任务中不需要执行此操作。
好了,总结一下就明白了,这里的 File.GetAttributes (file)返回的是一个枚举对象,FileAttributes.Hidden只是枚举内属性之一,我下面可以简单的举一个例子:
1 using System;
2
3 class FlagsAttributeDemo
4 {
5 enum Color1 : short
6 {
7 Black = 0,
8 Red = 1,
9 Green = 2,
10 Blue = 4
11 };
12
相关新闻>>
- 发表评论
-
- 最新评论 更多>>