see - param c# documentation




Quand et pourquoi scelleriez-vous un cours? (2)

1) Sur une classe qui implémente des fonctionnalités de sécurité, de sorte que l'objet d'origine ne puisse pas être "usurpé".

2) Plus généralement, j'ai récemment échangé avec une personne chez Microsoft, qui m'a dit qu'ils essayaient de limiter l'héritage aux endroits où cela avait vraiment du sens, parce que cela devenait coûteux en termes de performances s'ils n'étaient pas traités.
Le mot clé sealed indique au CLR qu'il n'y a pas de classe plus bas pour rechercher des méthodes, ce qui accélère les choses.

Dans la plupart des outils d'amélioration des performances sur le marché de nos jours, vous trouverez une case à cocher qui permettra de sceller toutes vos classes qui ne sont pas héritées.
Attention toutefois, car si vous souhaitez autoriser les plugins ou la découverte d'assembly via MEF, vous rencontrerez des problèmes.

En C # et C ++ / CLI, le mot clé sealed (ou NotInheritable in VB) est utilisé pour protéger une classe de tout risque d'héritage (la classe ne sera pas héritable). Je sais que l'une des caractéristiques de la programmation orientée objet est l'héritage et je pense que l'utilisation de la fonction sealed va à l'encontre de cette fonctionnalité, elle arrête l'héritage. Y at-il un exemple qui montre l'avantage de sealed et quand il est important de l'utiliser?






c++-cli