2009-11-05 2 views
0

J'ai une classe abstraite comme suit:Comment paramètre extra générique après où l'instruction?

class BaseReturnType { }  
class DerivedReturnType : BaseReturnType { }  

abstract class BaseClass<T> where T : BaseReturnType  
{   
    public abstract T PolymorphicMethod();  
}  

class DerivedClass : BaseClass<DerivedReturnType>  
{ 
    public override DerivedReturnType PolymorphicMethod()   
    {    
    return new DerivedReturnType();   
    }  
} 

Donc, si ajouter exta parrameter pour générique appelé T2 comment puis-je mettre extrac contraignante à ce sujet?

abstract class BaseClass<T, **T2**> where T : BaseReturnType ??? 
    {   
     public abstract T PolymorphicMethod();  
    } 

Répondre

4
abstract class BaseClass<T, **T2**> where T : BaseReturnType where T2 : BaseTypeForT2 

    {   
     public abstract T PolymorphicMethod();  
    } 

selon here.

+1

Plus facilement dans la section "Contraindre plusieurs paramètres" de http://msdn.microsoft.com/fr-fr/library/d5x73970.aspx – outis

Questions connexes