cómo y cuándo llamar al constructor de la clase base en C#cómo y cuándo llamar al constructor de la clase base en C#
Respuesta
Usted puede llamar al constructor de la clase base de la siguiente manera:
// Subclass constructor
public Subclass()
: base()
{
// do Subclass constructor stuff here...
}
que llamarían la clase base si hay algo que todas las clases secundarias necesitan tener configurada. objetos que necesitan ser inicializadas, etc ...
Espero que esto ayude.
También puede llamar al constructor de la clase base de esta manera: 'public Subclass() {} '- esto tiene exactamente el mismo comportamiento que tu ejemplo. –
Por lo general es una buena práctica para llamar al constructor de la clase base de su constructor de la subclase para asegurar que la clase base se inicializa antes de que su subclase. Utiliza la palabra clave base
para llamar al constructor de la clase base. Tenga en cuenta que también puede llamar a otro constructor de su clase con la palabra clave this
.
He aquí un ejemplo de cómo hacerlo:
public class BaseClass
{
private string something;
public BaseClass() : this("default value") // Call the BaseClass(string) ctor
{
}
public BaseClass(string something)
{
this.something = something;
}
// other ctors if needed
}
public class SubClass : BaseClass
{
public SubClass(string something) : base(something) // Call the base ctor with the arg
{
}
// other ctors if needed
}
No es sólo una buena práctica, es un requisito impuesto por el compilador. [Un constructor base será llamado, le guste o no.] (Http://stackoverflow.com/questions/3265958/how-can-i-tell-the-inheriting-class-to-not-call-its- base de clase sin parámetros-co) –
... Buen punto se llamará al ctor defecto si usted no llama explícitamente un ctor específica. –
En Flash/AS3, que podría hacer el trabajo en el constructor de la subclase, a continuación, llamar "super) (" hasta cierto punto, aunque para ejecutar el constructor de la clase base, y después continuar con más código en el constructor de la subclase. En C#, se ve obligado a llamar al constructor de la clase base primero, antes de que se ejecute cualquier código en el constructor de la subclase. – Triynko
- 1. En C#, ¿necesita llamar al constructor base?
- 2. Llamar al constructor sobrecargado de una clase base virtual
- 3. ¿Cómo llamar correctamente al constructor de la clase base de la clase heredada en Delphi Phrism?
- 4. C++ - ¿Debo llamar al constructor predeterminado de la clase base en la lista de inicialización?
- 5. Llamar al constructor de la clase base después de algunas otras instrucciones en C++
- 6. llamar al constructor de otro constructor en una misma clase
- 7. No llamar al constructor de la clase base de la clase derivada
- 8. ¿Cómo llamar al constructor protegido en C#?
- 9. ¿Cómo llamar al constructor dentro de la clase?
- 10. llamar al constructor de otro constructor
- 11. Validando C# base de parámetro constructor de la clase
- 12. ¿Cómo puedo forzar al constructor base a llamarse en C#?
- 13. C# Herencia: Cómo invocar el constructor de la clase base cuando llamo al constructor de la clase derivada
- 14. PHP [OOP] - ¿Cómo llamar al constructor de clase manualmente?
- 15. C++ 11 llamar al constructor del constructor del tipo misma clase
- 16. C++: Llamar a un constructor de la clase base con un argumento computarizada
- 17. Llamar a un constructor de la clase base desde la clase derivada en Java
- 18. cómo llamar al constructor padre?
- 19. Calling alteradas temporalmente Constructor y la Base Constructor en C#
- 20. ¿Cómo llamar correctamente a los métodos de clase base (y al constructor) de clases heredadas en Python?
- 21. C# Calling Base Class Constructor
- 22. Llamar explícitamente al constructor estático
- 23. ¿Puedo llamar a un constructor sobrecargado de otro constructor de la misma clase en C#?
- 24. Move Constructor llamando a la clase base Move Constructor
- 25. Llamando al método reemplazado de la clase base en C#
- 26. ¿Quién y cuándo debe llamar al método confirmCredentials de la clase AbstractAccountAuthenticator-based?
- 27. Llamar al constructor padre antes del constructor hijo en PHP
- 28. Llamar a un constructor de otro constructor en la misma clase
- 29. llamar al constructor de un tipo genérico
- 30. Llamar a un constructor de clase base más tarde (no en la lista de inicializadores) en C++
posible duplicado de [Llamada constructor base en C#] (http://stackoverflow.com/questions/12051/calling-base-constructor-in- c) y [C# Calling Base Class Constructor] (http://stackoverflow.com/questions/4212624/c-calling-base-class-constructor) –