webForumDet fria alternativet

Ojekt typ?

6 svar · 363 visningar · startad av maqe

maqeMedlem sedan dec. 2003824 inlägg
#1

Sitter och modellerar ett nytt projekt och undrar vilken typ av objekt jag skall använda för att returnera t.ex. en lista som kan innehålla en massa olika datatyper. För tillfället har jag en arraylist. Finns det någon annan typ som lämpar sig bättre?

WalkerMedlem sedan okt. 2002188 inlägg
#2

IList :)

maqeMedlem sedan dec. 2003824 inlägg
#3

Anledningen till att jag frågar är att jag tycker det blir så många typkastningar och kollar om saker innehåller null som inte får vara nulll men det kanske man inte kommer ifrån?

GladhMedlem sedan maj 20012 812 inlägg
#4

Det kommer du inte ifrån. Med Generics i .NET 2.0 slipper du typomvandlingarna och kan få dina listor typsäkra på ett enkelt sätt, utan att behöva skapa egna collections.

- M

maqeMedlem sedan dec. 2003824 inlägg
#5

Okay, synd att man inte har tillgång till .NET 2.0 redan nu då :)

WalkerMedlem sedan okt. 2002188 inlägg
#6

maqe skrev:

Anledningen till att jag frågar är att jag tycker det blir så många typkastningar och kollar om saker innehåller null som inte får vara nulll men det kanske man inte kommer ifrån?

Spontant så tycker jag att det känns det fel att du går en sådan koll, med null values, när du loopar igenom listan.

Så länge du har olika objekt så slipper du inte undan typkastningen, och det tror jag inte ens 2.0 löser.

Frågan är vad du skall retunera objekten till?

Jag skapar gärna två olika properties för min collections. En som retunerar ett generellt interface som tex, IList eller IDictionary och en metod som retunerar en read-only typad lista av den typen som finns i listan. (frågan är vad för typ du skall välja här. :l ) Interface propertiet används då jag hämtar och sparar objekten till databasen och det andra används då jag arbetar med objektet. Men genom Interface propertiet så kan inte du inte lägga till objekt utan det sker i "huvudobjektet". Anledningen till att den är readonly är just att du måste gå genom parent objektet. Inte alltid säkert att det finns ett sådant men men..

ex.
orders och orderrader..

public IList OrderRows
get;set;

public OrderRows GetOrderRows()

public void AddOrderRow(IOrderRow rowToAdd)

public void RemoveOrderRow(IOrderRow rowToRemove)

I AddOrderRow så kontrollerar jag så att jag verkligen får lägga till objektet till den aktuella order, dvs det får inte vara null osv. de typade listorna skapar jag med codesmith.. men ack vad skönt det skall bli med generics

maqeMedlem sedan dec. 2003824 inlägg
#7

Jag sitter och ska föröka göra ett tidrapporteringssystem där man kommer mata in information i ett antal textboxar t.ex. Som jag har det nu så tar mitt BLL emot en ArrayList från mitt PL som sedan skickar det vidare till mitt DAL som kör en INSERT mot databasen. Typerna som skickas är t.ex. string och double

277 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
151 ms — hämta forumlista (db)
123 ms — hämta statistik (db)
141 ms — hämta tråd, inlägg och bilagor (db)