Duplicar posible:
Why can’t I create an abstract constructor on an abstract C# class?Resumen Clase Constructor
¿Puede el constructor de la clase abstracta marcado como 'abstracta'?
Duplicar posible:
Why can’t I create an abstract constructor on an abstract C# class?Resumen Clase Constructor
¿Puede el constructor de la clase abstracta marcado como 'abstracta'?
No. C# no es compatible con esto en ninguna versión. Tenga en cuenta que los constructores son no heredados en las clases derivadas, aunque se pueden "encadenar". Esto es probablemente lo que quieres hacer.
Si desea indicar que la clase derivada debe realizar algún tipo de inicialización, puede crear un método abstracto Initialise
o tal que el constructor de la clase base (e indirectamente de la subclase) invoca la creación.
Como punto secundario, no estoy seguro de si el CLR (o el lenguaje CIL asociado) en realidad lo admite, sospecho que puede, aunque hay un pequeño uso para él desde C# por el motivo que acabo de mencionar.
No, un constructor no se puede marcar como abstracto. En las clases abstractas, los constructores generalmente se marcan como protected
, al menos eso es lo que yo recomendaría.
Básicamente no.
Si es abstracto, debe anularlo en una clase secundaria concreta, y no puede anular un constructor, solo sobrecargarlo.
En realidad, no importa si los marca como 'protected' o como el 'público' normal, ¡ya que solo se puede acceder mediante el encadenamiento en las clases derivadas de todos modos! Diciendo eso, marcar como 'protegido' es probablemente sensato desde un punto de vista semántico. – Noldorin
http://msdn.microsoft.com/en-us/library/ms182126(v=vs.100).aspx - sensible desde el punto de vista semántico autorizado –