我有一个属性
int [] MyProperty {get;set;}
我有一个枚举列表
enum MyEnums
{
ENUM1=0
ENUM2=1
ENUM3=2
}
该属性必须是一个int数组,因为在将该属性序列化为文件的代码上运行的工具。 我希望我的属性网格允许我编辑MyProperty,将枚举名称显示为键而不是0,1和2.数组的长度必须与枚举列表相同,因此不能添加或删除任何成员。我想我需要一个自定义编辑器来实现这一目标?任何人都可以提出最佳实现方法吗?
非常感谢
答案 0 :(得分:0)
在这种情况下你应该使用字典
Dictionary<MyEnums, int> MyProperty {get; set;}
此外,您可以实现自己的&#34;包装&#34; class和使用MyEnums为它添加索引器 http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
答案 1 :(得分:0)
您可以将ToString用于枚举值。此外,你似乎关于属性编辑的方向不是那么正确。您可以创建一个类,例如:
class EnumPropHolder
{
MyEnums Prop1 = MyEnums.Enum1 {get;set;}
MyEnums Prop2 = MyEnums.Enum2 {get;set;}
//etc.
}
所以现在这使你能够以你所谈论的方式使用你的类实例作为PropertyGrid的对象