function - How to overload method in TypeScript? -
i have method taking object's parameters in signature. want pass object instead of many parameters , on other hand, don't want change existing method's signature because it's being used @ multiple places. want both methods. when i'm trying write code, gives me errorduplicate function implementation.
getsearchdata(fetchdata: fetchdata,languagecode: string, sorting: string, maxresultcount: number, skipcount: number): observable<pagedresultdtooffetchdata> { getsearchdata(datalevel: number, codetype: number, datacode: string, desclong: string, languagecode: string, dataparent: string, sorting: string, maxresultcount: number, skipcount: number): observable<pagedresultdtooffetchdata> { fyi datalevel, codetype, datacode, desclong, dataparent properties of fetchdata.
typescript able overload functions, has particularities in contrast other oop languages, such c++. looking ar ref , despite fact methods have different number of arguments, avoid compiler errros doing this:
class funoverloadclass { getsearchdata(datalevel: number, codetype: number, datacode: string, desclong: string, languagecode: string, dataparent: string, sorting: string, maxresultcount: number, skipcount: number): observable<pagedresultdtooffetchdata>; getsearchdata(fetchdata: fetchdata, languagecode: string, sorting: string, maxresultcount: number, skipcount: number): observable<pagedresultdtooffetchdata>; getsearchdata(stringornumberparameter: any, secondparam: any, thirdparam: any, fourthparam: any, fifthparam: any, dataparent?: string, sorting?: string, maxresultcount?: number, skipcount?: number): string { if (stringornumberparameter && typeof stringornumberparameter == "number") alert("variant #1: numberparameter = " + stringornumberparameter); else alert("variant #1: stringparameter = " + stringornumberparameter); } } where used dataparent?: string, ?: operator specifies parameter named dataparent of type string optional.
Comments
Post a Comment