Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C#: Konstruktoren erben? (https://www.delphipraxis.net/75449-c-konstruktoren-erben.html)

Pseudemys Nelsoni 19. Aug 2006 10:18


C#: Konstruktoren erben?
 
Hi,

wie kann ich einen Konstruktor einer Vorgängerklasse miterben? Ich habe eine Klasse von "Exception" abgeleitet, und brauche den Konstruktor der einen String als Argument übernimmt.

OregonGhost 19. Aug 2006 10:24

Re: C#: Konstruktoren erben?
 
Naja, erben in dem Sinne, dass er automatisch aufgerufen wird, geht nicht, aber der Konstruktor ist in einer abgeleiteten Klasse natürlich vorhanden und kann über base aufgerufen werden:
Code:
public class MyException: Exception
{
    public MyException(message: string)
        : base(message)
    {
    }
}

Elvis 19. Aug 2006 10:26

Re: C#: Konstruktoren erben?
 
Du musst ihn neu deklarieren und direkt den Vorgänger aufrufen:
Code:
class Miep
{
  int someInt;

  public Miep(int someInt)
  {
    this.someInt = someInt;
  }
}

class Mööp : Miep
{
  public Mööp(int someInt)
    : base(someInt)
  {}
}
Ich finde das zwar bescheuert, solange man im Nachfolger keinen Kontruktor angelegt hat sollten IMO alle des Vorgängers übernommen werden. Aber nunja, C# ist auch nicht perfekt. ;)

Khabarakh 19. Aug 2006 11:24

Re: C#: Konstruktoren erben?
 
Besonders bescheuert eben gerade bei Exception-Derivaten mit ihren vier obligatorischen Konstruktoren :| . Egal, dafür hab ich mir schon längst ein #d-Template gebastelt :mrgreen: .


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz