作者:mqfcu123 | 来源:互联网 | 2022-11-20 12:12
在VB.Net中是否有相当于C#的管道运算符(|)?
我从这里有一些代码如何为我的应用程序为所有用户创建的文件授予完全权限?
它在C#中,我想将其转换为VB.Net.我到目前为止(VS说有一个错误:| InheritanceFlags.ContainerInherit):
Sub ZugriffsrechteEinstellen()
Dim dInfo As New DirectoryInfo(strPfadSpracheINI)
Dim dSecurity As New DirectorySecurity
dSecurity = dInfo.GetAccessControl()
dSecurity.AddAccessRule(New FileSystemAccessRule(New SecurityIdentifier(WellKnownSidType.WorldSid, Nothing), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow))
dInfo.SetAccessControl(dSecurity)
End Sub
Alexander..
8
相当于Or
.
InheritanceFlags.ObjectInherit Or InheritanceFlags.ContainerInherit
它将在操作数之间执行按位"或"操作.
例如,如果您有以下枚举
C#:
enum Values
{
NOne= 0,
Odd = 1,
Even = 2,
All = 3
}
VB:
Enum Values
NOne= 0
Odd = 1
Even = 2
All = 3
End Enum
Values.Odd | Values.Even
(Values.Odd Or Values.Even
)的结果是Values.All
.这是因为Odd = 1
是01
在二进制表示Even = 2
是10
和01 or 10
等于11
是3 (All)
.
1> Alexander..:
相当于Or
.
InheritanceFlags.ObjectInherit Or InheritanceFlags.ContainerInherit
它将在操作数之间执行按位"或"操作.
例如,如果您有以下枚举
C#:
enum Values
{
NOne= 0,
Odd = 1,
Even = 2,
All = 3
}
VB:
Enum Values
NOne= 0
Odd = 1
Even = 2
All = 3
End Enum
Values.Odd | Values.Even
(Values.Odd Or Values.Even
)的结果是Values.All
.这是因为Odd = 1
是01
在二进制表示Even = 2
是10
和01 or 10
等于11
是3 (All)
.