2010-11-20 19 views
0

Ich habe eine abstrakte allgemeine Klasse:generische Basisklasse, wo T andere generische Basisklasse ist

public abstract class SomeBaseClass<U,V> 
{ 
} 

ich andere generische Klasse erstellen möchten:

public abstract class SomeOtherBaseClass<T1, T2> where T1 : SomeBaseClass<U,V> 
{ 
    private readonly T1 _someBaseClass; 

    public SomeOtherBaseClass(T1 someBaseClass) 
    { 
     _someBaseClass = someBaseClass; 
    } 
} 

Wie kann ich das tun?

Antwort

3
public abstract class SomeOtherBaseClass<T1, T2, U, V> 
    where T1 : SomeBaseClass<U, V> 
1

Dies kann Ihnen, was Sie brauchen:

public abstract class SomeOtherBaseClass<U, V, T2> 
{ 
    private readonly SomeBaseClass<U, V> _someBaseClass; 

    public SomeOtherBaseClass(SomeBaseClass<U, V> someBaseClass) 
    { 
     _someBaseClass = someBaseClass; 
    } 
} 
0
public abstract class SomeOtherBaseClass<T1, T2> where T1 : SomeBaseClass<T1,T2> 
+0

'SomeBaseClass' nicht definiert es Argument' U' erste Art ist zu sein reflexiv, so ist dies nicht korrekt. Außerdem gab das OP keinen Hinweis darauf, dass die Typargumente für die beiden Basisklassen verwandt waren. –

Verwandte Themen