Qué clase Abstracta no puede ser sellado o estática ?
y yo también soy confunden acerca de esta pregunta Por qué declarar las clases estáticas como sellados y abstractos en C#?

  • Echa un vistazo a esta respuesta de Michel Keijzers: stackoverflow.com/a/9213911/540653
  • ¿cuál es la confusión?
  • Clase abstracta no puede ser estática y del otro lado dice que declarar estático de la clase como abstracta ¿qué significa eso ? @abhitals
InformationsquelleAutor anomepani | 2014-01-07

1 Comentario

  1. 13
    1. static clase no pueda ser marcado sealed porque está hecha sealed por el compilador por defecto.

      Las clases estáticas están sellados y por lo tanto no puede ser heredada.

    2. static la clase no puede ser marcado como abstract, porque sería inútil. abstract clase tiene sentido cuando se desea que todas las clases derivadas para implementar la misma parte de la lógica. Pero porque static clase no puede ser derivada no hay manera de otra clase que implementará estas brechas.

      No pueden heredar de cualquier clase, excepto Object.

    Las dos citas de Clases estáticas y los Miembros de la (C# Guía de Programación).

    C# especificación es un poco más detallada acerca de que:

    10.1.1.3 las clases Estáticas

    Un static clase no puede incluir un sealed o abstract modificador. Nota, sin embargo, que desde un static clase no puede ser instanciado o derivados, que se comporta como si era sealed y abstract.

    Usted puede leer ¿qué significa para la clase a ser sealed o abstract:

    Una clase abstracta no puede ser instanciada directamente, y es un error en tiempo de compilación para utilizar el operador new en una clase abstracta

    El modificador sealed se utiliza para evitar la derivación de una clase. Un error en tiempo de compilación se produce si una clase cerrada se especifica como la base de la clase de otra clase.

    Actualización

    Y una palabra acerca de un artículo relacionado en la consulta que usted menciona (Estático De La Clase De Diseño). Es que ya se dice en aceptó la respuesta de esa pregunta. Si usted lee con cuidado se puede ver que:

    HACER declarar static clases como sealed, abstract, y agregar un private constructor de instancia si su lenguaje de programación no tiene soporte incorporado para las clases estáticas.

    .NET (para C# así) no tiene soporte incorporado para las clases estáticas, por lo que no tiene (y aún no se puede) para realizar tus clases de pseudo-estático marcando tanto sealed y abstract.

    • He leído que la respuesta @MarcinJuraszek y he creado una clase cerrada a y crear otra clase cerrada B que se extienden o heredar Un de la clase y sin error la forma de su posible si el sellado de la clase no es hereditario ?
    • No. Trate de public sealed class A { } y public sealed class B : A {}. Obtendrás B‘: no se puede derivar de tipo sellado ‘A mensaje de error.
    • gracias @MarcinJuraszek ,su explicación es genial tengo mi respuesta ,yo sólo soy inconsciente de static interna definición como la que se comporta como el sellado y resumen debido a que la Estática de la clase no es instanciado como abstract de la clase y no se puede heredar como sellado de de la clase .Gracias

Dejar respuesta

Please enter your comment!
Please enter your name here