C# Asp.net用户控件枚举标志属性除一项外是否所有?
我有一个带有标志的枚举:C# Asp.net用户控件枚举标志属性除一项外是否所有?,c#,asp.net,enums,webforms,C#,Asp.net,Enums,Webforms,我有一个带有标志的枚举: [Flags] public enum Border { Top = 1, Bottom = 2, Right = 4, Left = 8, All = 15 } 我有一个用户控件,其属性类型为(边框): MyUserControl.ascx MyWebForm.aspx 在my web窗体中,使用myusercontrol,例如: <uc1:MyUserControl runat="server" Borders="To
[Flags]
public enum Border
{
Top = 1,
Bottom = 2,
Right = 4,
Left = 8,
All = 15
}
我有一个用户控件,其属性类型为(边框):
MyUserControl.ascx
MyWebForm.aspx
在my web窗体中,使用myusercontrol,例如:
<uc1:MyUserControl runat="server" Borders="Top,Bottom,Right"/>
如何设置除一个项目外的所有项目的Borders属性,例如:
<uc1:MyUserControl runat="server" Borders="All,~Left"/>
您必须创建一个新的枚举值,如下所示
[Flags]
public enum Border
{
Top = 1,
Bottom = 2,
Right = 4,
All_Except_Left = 7,
Left = 8,
All = 15
}
Top = 0001
Bottom = 0010
Right = 0100
All_Except_Left = 0111
Left = 1000
All = 1111
flags的思想是按位工作。每一位代表一个枚举值。要使用这些值的组合,您必须打开必要的位(我认为这是开-关开关,因此术语“打开”)。因此,您的需求在bit术语中如下所示
[Flags]
public enum Border
{
Top = 1,
Bottom = 2,
Right = 4,
All_Except_Left = 7,
Left = 8,
All = 15
}
Top = 0001
Bottom = 0010
Right = 0100
All_Except_Left = 0111
Left = 1000
All = 1111
另外,请通读这篇文章,这将有助于您更好地理解它。谢谢,但我不想做这项工作,在c中#对于这种方法非常简单的使用(全部&~左),在没有您的方法的情况下,在aspx用户控件属性中做什么?