Una gran cantidad de clases en .Net Framework están marcadas como 'selladas', lo que le impide heredar esas clases con las suyas propias. Sin duda, esto va en contra de la naturaleza de la orientación a objetos, donde se puede extender y redefinir el comportamiento de los objetos existentes.¿Por qué existe la palabra clave 'sellado' en .Net?
¿Existe una buena razón para la existencia de la palabra clave 'sellado'?
Como ejemplo, NotifyCollectionChangedEventArgs en Silverlight está sellado. Quería crear mi propia versión de ObservableCollection que apoyó AddRange y removeRange, pero la versión de Silverlight de NCCEA no lo hace proporcionar un constructor que apoya varios elementos para los newitems y propiedades OldItems, que ya están definidos como ILists. Normalmente, solo amplía la clase con mi propia variante que anula las propiedades NewItems y OldItems, pero en este caso no puedo y no veo ninguna razón por la cual debería ser el caso.
Es posible que desee leer la publicación del blog de Eric Lippert sobre por qué la mayoría de las cosas en el marco de .NET están selladas: http://blogs.msdn.com/ericlippert/archive/2004/01/22/61803.aspx – gix
porque java tiene el modificador/s de clase 'final' –