public enum MyEnum { Red, Blue, Green }
[Serializable] public class MyEnumList : Csla.NameValueListBase { public static MyEnumList GetList() { return Csla.DataPortal.Fetch(new Criteria(typeof(MyEnumList))); } private MyEnumList() { /* require use of factory method */ } [Csla.RunLocal] protected override void DataPortal_Fetch(object criteria) { this.IsReadOnly = false; foreach (MyEnum item in Enum.GetValues(typeof(MyEnum))) Add(new Csla.NameValueListBase.NameValuePair( item, Enum.GetName(typeof(MyEnum), item))); this.IsReadOnly = true; } }
MyEnum _color; public MyEnum Color { get { CanReadProperty("Color", true); return _color; } set { CanWriteProperty("Color", true); if (!_color.Equals(value)) { _color = value; PropertyHasChanged("Color"); } } }