2016-04-01 16 views
0

私は複数の基底クラスを持つことができないので、基底クラスを型として渡すことを楽しみにしています。 C#で可能ですか?基底クラスタイプ

例:

public class MyClass : Base1<Base2> {} 

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

public class Base2 
{ 
    m2(); 
} 

この方法で私は(M1にアクセスすることができます)と、MyClassの

から平方メートル()事前に感謝します。

+4

このようにして、nope genericsは動作しません。 –

+4

これはxyの問題のように聞こえます。あなたは何を達成したいと思いますか?インターフェイスを使用できますか? –

+4

代わりに合成を使用してください。 –

答えて

0

他の人がコメントに示唆しているように、おそらくcomposition insteadを複数継承しようとしているはずです。あなたの場合、これは次のようになります。

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(); 
関連する問題