2016-04-01 13 views
0

Da ich nicht mehrere Basisklassen haben kann, freue ich mich darauf, eine Basisklasse als Typ zu übergeben. Ist es in C# möglich?Basisklasse als Typ

Beispiel:

public class MyClass : Base1<Base2> {} 

public class Base1<TBase> : TBase 
{ 
    m1(); 
} 

public class Base2 
{ 
    m2(); 
} 

So kann ich m1() und m2() von MyClass

Vielen Dank im Voraus zugreifen kann.

+4

Nö-Generika funktionieren nicht so. –

+4

das klingt wie das xy Problem. was hoffst du zu erreichen? Kannst du Schnittstellen benutzen? –

+4

Verwenden Sie stattdessen die Komposition. –

Antwort

0

Wie andere in den Kommentaren vorgeschlagen haben, sollten Sie wahrscheinlich composition instead versuchen, mehrere Vererbung zu haben. In Ihrem Fall könnte das etwa so aussehen:

public class MyClass 
{ 
    public Base1 Base1 { get; set; } 
    public Base2 Base2 { get; set; } 
} 

public class Base1 
{ 
    public void m1() { } 
} 

public class Base2 
{ 
    public void m2() { } 
} 


// use like 
myClass.Base1.m1(); 
Verwandte Themen