c# - How do you create a generic method in a class? -
i trying follow dry principle. have sub looks this?
private sub dosupplymodel outputline("item summaries") dim itemsumms new supplymodel.itemsummaries(_currentsupplymodel, _excelrows) itemsumms.fillrows() outputline("") outputline("numbered inventories") dim numinvs new supplymodel.numberedinventories(_currentsupplymodel, _excelrows) numinvs.fillrows() outputline("") end sub
i collapse these single method using generics. record, itemsummaries , numberedinventories both derived same base class databuilderbase.
i can't figure out syntax allow me itemsumms.fillrows , numinvs.fillrows in method.
fillrows declared public overridable sub fillrows
in base class.
thanks in advance.
edit
here end result
private sub dosupplymodels() dosupplymodeltype("item summaries",new datablocks(_currentsupplymodel,_excelrows) dosupplymodeltype("data blocks",new datablocks(_currentsupplymodel,_excelrows) end sub private sub dosupplymodeltype(byval outputdescription string, byval type databuilderbase) outputline(outputdescription) type.fillrows() outputline("") end sub
but answer own question...i have done this...
private sub dosupplymodels() dosupplymodeltype(of projections)("item summaries") dosupplymodeltype(of datablocks)("data blocks") end sub private sub dosupplymodeltype(of t databuilderbase)(byval outputdescription string, byval type t) outputline(outputdescription) dim type new databuilderbase (_currentsupplymodel,_excelrows) type.fillrows() outputline("") end sub
is right?
seth
as others have pointed out, don't need generics want, answer technical question completeness:
private sub mymethod(of t databuilderbase)(byval instance t) instance.fillrows() end sub
and call method doing this:
mymethod(of itemsummaries)(new supplymodel.itemsummaries(...))
Comments
Post a Comment