Question

En Java, je pouvais le faire avec le mot clé "final". Je ne vois pas «final» en C #. Y a-t-il un substitut?

Était-ce utile?

La solution

Vous recherchez le mot clé sealed . Il fait exactement ce que fait le mot clé final en Java. Toute tentative d'héritage entraînera une erreur de compilation.

Autres conseils

Sachez également que "je ne pense pas que quiconque ait besoin d'hériter de ce". n’est pas une bonne raison d’utiliser "scellé". Sauf si vous avez un besoin spécifique de vous assurer qu'une implémentation particulière est utilisée, laissez la classe non scellée.

Comme Joel l'a déjà indiqué, vous pouvez utiliser sealed au lieu de final en C #.

http://en.csharp-online.net/CSharp_FAal_FAQ_Does_CSharp_support_support

Le modificateur sealed fera ce que final fait en Java.

De plus, bien que ce ne soit probablement pas ce que vous recherchez dans cette situation, le fait de marquer une classe comme statique l'empêche également d'être hérité (il devient scellé en coulisse).

Le mot clé sealed fonctionnerait, mais vous pouvez toujours dériver de la classe à l'aide de réflexion IIRC.

scroll top