Holen datarow -, c# - Objekt

Ich habe eine Klasse Element repräsentiert ein Element in einer Liste. Ich habe in der it-Funktion aufruft gespeicherte Prozedur zurückgibt, datatable und ich brauche, um zu konvertieren, die die datatable an Array von Elementen.
Hier ist was ich tun:

public class Item
{
    private string _ItemIdDataName = "item_id";
    private string _ItemNameDataName = "item_name";
    private string _PriceDataName = "price";

    public long ItemId { get; set; }
    public string ItemName { get; set; }
    public float Price { get; set; }

    private Item(DataRow row)
    {
        if (row != null)
        {
            ItemId = long.Parse(row[_ItemIdDataName].ToString());
            ItemName = row[_ItemNameDataName].ToString();
            Price = float.Parse(row[_PriceDataName].ToString());
        }
    }

    public Item[] load()
    {
        DataTable dt=DBHandler.GetItems();//Stored procedure that returns DataTable 
        Item[] items = new Item[dt.Rows.Count];
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            items[i] = new Item(dt.Rows[i]);
        }
        return items;
    }
}

Mache ich es richtig?
Wie kann ich diese verbessern?

Warum ist load() im inneren Element der Klasse?
Da sieht es sehr meanningless, um es unter verschiedenen Klasse. Ich habe viele Fälle wie dieser und ich kann nicht haben hundert Klassen, die nur gibt query-Ergebnis.
machen Sie statische zumindest..

InformationsquelleAutor Naor | 2011-01-04

Schreibe einen Kommentar