我有枚举例如说:
public enum Color
{
red,
green,
blue
}
并且有两个班级。具有enum。]]属性的
public class ClassA { public Color Color{get;set;} } public class ClassB { [InvisibleFlag(Color.red)] // I want something like that public Color Color{get;set;} }
现在在Windows Forms Designer中,我只想仅从ClassB的Color枚举中隐藏红色标记。
我知道我可以创建一个单独的枚举。但是为什么要重复值呢?我仅举了一个简单的例子。
我想可能会对上级可以帮助我的事情有所帮助。
描述符API。我讨厌;(
也许像
TypeDescriptor.AddAttributes(object, new BrowsableAttribute(false));
此answer在这种情况下将不起作用。我不想将Browsable
属性应用于枚举标志,因为它在所有类的属性网格中都隐藏了该标志。我希望能够仅对特定类而不是对所有类隐藏特定的枚举值。
例如,我有一个枚举:public enum Color {red,green,blue}并有两个类。具有枚举的属性。公共类ClassA {public Color Color {get; set;}} public ...
帮助您显示PropertyGrid
中的枚举值的类是EnumConverter
,而负责列出EnumConverter
中的枚举值的方法。