enum ClassType
{
BASE,
A,
B
}
class BaseClass
{
ClassType CT;
//some fields
}
class AClass : BaseClass
{
//some fields
}
class BClass : BaseClass
{
//some fields
}
class Holder
{
public List<BaseClass> list { get; set; }
}
然后我有一个集合List<BaseClass> list;
如果我将Holder的实例加载为PropertyGrid.SelectedObject,我将能够添加,编辑和删除集合中的元素,但我只能添加BaseClass,我想要的是选择要添加的类清单。
这可以不用我自己的收藏编辑器吗?
对于ContextMenuStrip.Items编辑器需要类似的东西,但我不知道它是如何制作的。
答案 0 :(得分:1)
您可能想尝试从它继承并重写NewItemTypes属性:
您需要在集合类型中添加EditorAttribute以指定继承的编辑器。