Je ne trouve aucune idée de la façon d'utiliser cet attribut?A quoi sert vraiment EditorReuseAttribute?
Répondre
MSDN indique qu'il est en effet d'indiquer qu'un éditeur de propriété peut être réutilisé sans avoir besoin de recréer à chaque fois.
Ceci est un gain de performance, surtout si votre éditeur a besoin de faire un travail important au démarrage qui peut être évité. À moins que vous n'ayez des problèmes de performance, je ne m'inquiéterais pas.
Si vous ne savez pas ce qu'il fait, pourquoi avez-vous besoin de l'utiliser? Avez-vous un code qui l'utilise actuellement et que vous pourriez publier comme exemple?
Il semble que cela vous permette de définir qu'un éditeur de propriétés pour votre propriété peut être réutilisé sans redémarrer. Je ne suis pas particulièrement sûr de savoir pourquoi cela serait utile.
imaginez que vous avez le scénario comme celui-ci:
class Complex
{
public OtherComplex1 Property1 { get; set; }
public OtherComplex2 Property2 { get; set; }
public OtherComplex2 Property3 { get; set; }
.....
public OtherComplexN PropertyN { get; set; }
}
chacun de vos biens a son propre concepteur de type, qui affiche des propriétés, etc.
dire, vous avez deux instances différentes de la classe complexe + instance d'une autre classe arbitraire.
maintenant, lorsque vous basculer entre vos objets comme celui-ci - par exemple complexe 1 -> Autres -> exemple complexe 2 - tout ira bien, mais si vous faites quelque chose comme ceci:
exemple complexe 1 -> complexe instance 2, vous remarquerez que les propriétés ne sont pas rafraîchies.
est le comportement par défaut de la grille de propriétés, qui tente d'optimiser le nombre d'opérations d'actualisation des données. à moins que vous ne vouliez faire beaucoup de logique pour garder vos concepteurs à jour, je vous conseille de marquer votre complexTypes avec l'attribut editor reuse défini sur false - dans ce cas, chaque fois que la sélection change pour une instance différente, la grille de concepteurs.