.net - Creating a generic list of a generic type -


i trying create list of generic type in vb.net 2.0 framework. generic type definition:

----------   public class genericparammap(of t)      public sub new(byval pparamname string, byval ppropvalue t)       mparamname = pparamname       mpropvalue = ppropvalue     end sub      public property paramname() string               return mparamname       end       set(byval value string)         mparamname = value       end set     end property     private mparamname string      public property propvalue() t               return mpropvalue       end       set(byval value t)         mpropvalue = value       end set     end property     private mpropvalue t   end class ---------- 

and here method use list of genericparammap passed in parameter:

public sub populateparammap(byval pmap list(of genericparammap(of t))       pmap.add(new genericparammap(of integer)("@region_id", regionid))       pmap.add(new genericparammap(of string)("@bus_addr1", busaddress1))       pmap.add(new genericparammap(of boolean)("@active_flag", activeflag)) end sub ---------- 

the compiler not allow "t" in method's parameter because it's not defined, i'm not sure how or define it. thought okay have generic method definition. have ideas? thanks

your code doesn’t work because different instances of genericparammap don’t share common base (except object). is, thing(of integer) entirely unrelated thing(of string) far vb concerned.

one way solve have class implement interface (or extend base class) , declare list list(of thatinterface). note lose generic type information way, there fundamentally no way around – can’t integers , strings alike (except far common base class goes, object), , cannot treat thing(of integer) , thing(of string) alike.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -