什么是EditorReuseAttribute真正的用途?

时间:2009-05-29 20:25:08

标签: c# attributes componentmodel

我无法找到使用此属性的方法吗?

3 个答案:

答案 0 :(得分:1)

MSDN表示确实可以重复使用属性编辑器而无需每次都重新创建。

这是一次表演胜利,特别是如果您的编辑需要在启动方面做大量工作,这是可以避免的。除非 实际上存在性能问题,否则我不会担心它。

答案 1 :(得分:1)

想象你有这样的场景:

class Complex
{
   public OtherComplex1 Property1 { get; set; }
   public OtherComplex2 Property2 { get; set; }
   public OtherComplex2 Property3 { get; set; }
   .....
   public OtherComplexN PropertyN { get; set; }

}

每个属性都有自己的类型设计器,它会显示一些属性等。

说,你有两个不同的Complex类+其他任意类的实例。

现在,当你在这样的对象之间切换时 - 复杂的实例1 - >其他 - >复杂的实例2 - 一切都会正常,但如果你这样做:

复杂实例1 - >复杂的实例2,你会注意到属性没有刷新。

这是属性网格的默认行为,它尝试优化数据刷新操作的数量。除非你想为了让你的设计师更新你想要烧掉很多逻辑,我建议用编辑器重用属性设置为false来标记你的complexTypes - 在这种情况下,每当选择更改为不同的实例时,属性网格仍会刷新你的设计师。

答案 2 :(得分:0)

如果您不知道它的作用,为什么还需要使用它?您目前是否有任何可以使用它的代码作为示例发布?

听起来它允许您定义属性的属性编辑器可以重用而无需重新启动。我不太清楚为什么这会有用。

相关问题