C#如何通过设置多个值来使用属性

时间:2014-10-14 05:07:56

标签: c#

我想做这样的事情。

public partial class Form1 : Form{
    // bla bla.....
}
public enum FormMode { 
        Insert,
        Update,
        Delete,
        View,
        Print
    }
private FormMode frmMode = FormMode.Insert;
        public FormMode MyFormMode
        {
            get { return this.frmMode; }
            set { this.frmMode = value; }
        }

并使用它就像这样。

fmDetails.MyFormMode= FormMode.Insert | FormMode.Delete | FormMode.Update;

我想这样做。已经在.net中有这种类型的东西了。但我不知道他们使用了什么,如果它是structenum或任何其他{{1} }。

1 个答案:

答案 0 :(得分:3)

为了做你正在做的事情,你必须声明一个枚举,如下所示。最重要的是,枚举值都是2的幂,以允许它们在FormMode.Insert | FormMode.Delete | FormMode.Update之类的语句中使用。

[Flags] //Not necessary, it only allows for such things such as nicer formatted printing using .ToString() http://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c
public enum FormMode { 
    Insert=1,
    Update=2,
    Delete=4,
    View=8,
    Print=16
}