Entwickler-Ecke

C# - Die Sprache - Vererbung in C#


Tomate_Salat - Mo 30.03.09 22:26
Titel: Vererbung in C#
Hi,
ich suche schon lange, aber finde nicht wirklich die Antwort nach der ich suche. Ich will die TreeNode Klasse erben, um Ihr ein paar zusätzl. eigenschaften zuweisen zu können. Ich habe in Erfahrung gebracht, dass ich mit base() mit der Basisklasse iwie kommunizieren kann [methodenaufruf...]. Danach habe ich herausgefunden, dass es das gleiche sein soll wie bei Java super().
Wer Java kennt, weis das man mit super(paramter...) den Konstruktor aufrufen kann. Will ich das gleiche in C# mit Base umsetzen bekomme ich folgenden Error:
"Die Verwendung des base-Schlüsselworts ist in diesem Kontext nicht gültig. (CS0175)";

Hier der Code-ausschnitt:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public class PSTreeNode : TreeNode{
    string path;
    public PSTreeNode(string name, string path)
    {
      base(name);
      this.path = path;
    }
}


Edit bin gerade per zufall wieder auf das ganze hier gestoßen. Auch wenn es jetzt wahrscheinl. nicht mehr viel bringt, habe ich dennoch den Titel editiert.

MFG

Tomate_Salat

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Moderiert von user profile iconKha: Topic aus WinForms verschoben am Mo 30.03.2009 um 22:40


Kha - Mo 30.03.09 22:42

Mit base bist du ja schon auf dem richtigen Weg, also würde ich mal die Hilfe zu Rate ziehen: http://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx


Tomate_Salat - Mo 30.03.09 22:46

Ah sehr gut, danke. Habe es jz so gelöst:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
public class PSTreeNode : TreeNode{
    string path;
    public PSTreeNode(string name, string path) : base(name)
    {
      this.path = path;
    }
}


Christian S. - Mo 30.03.09 22:59

Könntest Du Deinem Thema noch einen aussagekräftigeren Titel geben? :-) Verdammt viele Themen in diesem Forum behandeln ein Problem mit einem Code ;-)