c# - Inheriting from a class and adding an additional property -
i have class in 1 application - that cannot change (legacy) - within of assembly (dll file):
public class shippingmethod { public string shipmethodcode { get; set; } public string shipmethodname { get; set; } public decimal shippingcost { get; set; } public list<shippingmethod> getallshippingmethods() { ...... } }
i have sec application referencing assembly (dll file) , needs populate drop-down shipping methods. ex: "ups - $3.25"
the issue needs using right format different currencies. ex: $3.25 or 3.25€ depending on parameter called countryid.
i have written function string displaymoney(decimal amount, integer countryid)
homecoming right format of amount.
now need apply function every shipping method , save new list. best way this?
i can create class called localizedshippingmethods follows:
public class localizedshippingmethod { public shippingmethod shipmethod { get; set; } public string localizedshippingcost { get; set; } }
is best way accomplish this? there improve way using inheritance? , if utilize inheritance, how values first list new list?
that indeed method of doing it. can utilize pretty quick linq query pull old list
new one:
list<localizedshippingmethod> translate(list<shippingmethod> oldlist) { homecoming oldlist.select(a => new localizedshippingmethod { // initialize properties according translate them }).tolist(); }
additionally, create more streamlined , obvious, of next aid in translation:
create constructorlocalizedshippingmethod
takes in shippingmethod
, sets properties create static method on localizedshippingmethod
takes in shippingmethod
, returns initialized localizedshippingmethod
create operator on localizedshippingmethod
converts shippingmethod
create extension method on shippingmethod
, phone call tolocalized()
returns localizedshippingmethod
c# class inheritance
No comments:
Post a Comment