Для чего на самом деле предназначен EditorReuseAttribute? - PullRequest
0 голосов
/ 30 мая 2009

Не могу найти представление о том, как использовать этот атрибут?

Ответы [ 3 ]

1 голос
/ 01 июня 2009

MSDN означает, что это действительно означает, что редактор свойств можно использовать повторно без необходимости повторного создания.

Это выигрыш в производительности, особенно если ваш редактор должен выполнить значительную работу при запуске, чего можно избежать. Если бы у вас на самом деле не было проблем с производительностью, я бы об этом не беспокоился.

1 голос
/ 23 июня 2009

представьте, что у вас есть такой сценарий:

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, вы заметите, что свойства не обновляются.

- поведение по умолчанию для сетки свойств, которая пытается оптимизировать количество операций обновления данных. если вы не хотите использовать много логики для обновления ваших дизайнеров, я бы предложил пометить ваши complexTypes с атрибутом повторного использования редактора, установленным в false - в этом случае, когда выбор изменяется на другой экземпляр, сетка свойств все равно будет обновлять дизайнеры.

0 голосов
/ 30 мая 2009

Если вы не знаете, что он делает, зачем вам его использовать? У вас есть какой-нибудь код, который использует его в настоящее время, и вы можете опубликовать его в качестве примера?

Похоже, это позволяет вам определить, что редактор свойств для вашего свойства может быть повторно использован без перезапуска. Я не совсем уверен, почему это было бы полезно.

...