c# - Define class with Generic Types -


i have following class definition works:

public class asyncvalidationrequesthandler<trequest, tresponse> : iasyncrequesthandler<trequest, tresponse>      trequest : iasyncrequest<tresponse> { } 

but need define tresponse envelope envelope is:

public class envelope<t> { } 

i tried following:

public class asyncvalidationrequesthandler<trequest, tresponse> : iasyncrequesthandler<trequest, tresponse>      trequest : iasyncrequest<tresponse>      tresponse : envelope<tmodel> { } 

basically, define envelope as:

modala modela = new modela(); envelope<modela> envelopea = new envelope<modela>(); 

or

modalb modelb = new modelb(); envelope<modelb> envelopeb = new envelope<modelb>(); 

and know response envelope of ...

but code not compile. error:

the type or namespace name 'tmodel' not found (are missing using directive or assembly reference?)     

how solve this? need interface?

you need declare tmodel generic parameter, too:

public class asyncvalidationrequesthandler<trequest, tresponse, tmodel> : iasyncrequesthandler<trequest, tresponse>      trequest : iasyncrequest<tresponse>      tresponse : envelope<tmodel> { } 

Comments