這裏我要告訴你我正在處理的內容,之後出現我的問題。我想告訴你們我在做什麼...所以你們可以更好地理解我的問題。使用Winforms將對象字符串轉換爲C#中的對象(類)
在此先感謝,
我正在進行一個項目。這個應用程序是一個雜貨店計算器。我有一個叫做Artikel的課。這個類是我的其他派生類的基類,例如(蔬菜,飲料,溫食品等)。
我從我的數據庫中獲得了一個充滿數據的組合框。我想要做的是將每個產品的價格添加到「總成本購物車」中。我的基類是這樣的:
class Artikel
{
// properties
private string naam;
private double prijs;
private string winkel;
// properties
public string Naam
{
get { return naam; }
set { naam = value; }
}
public double Prijs
{
get { return prijs; }
set { prijs = value; }
}
public string Winkel
{
get { return winkel; }
set { winkel = value; }
}
// constructor
public Artikel(string naam, double prijs, string winkel)
{
this.Naam = naam;
this.Prijs = prijs;
this.Winkel = winkel;
}
// methods
public override string ToString()
{
string info = "€ " + Prijs;
return info;
}
從我的主要形式,我使用此代碼,將其添加到我的組合框:
foreach(var g in database.GetGroenteInfo())
{
cbGroentenLidl.Items.Add(g.Naam);
}
當ComboBox是充滿「蔬菜」的數據,我可以選擇項目。從這裏我可以用這個代碼所選擇的項目添加到我的「lbLidlKosten」:
lbLidlKosten.Items.Add(cbGroentenLidl.SelectedItem);
現在,我的數據是正確的,我想它..這裏是問題。現在我想將添加到列表框中的每個產品的價格添加到我的標籤。基本上,我添加到「lbLidlKosten」的產品越多,我的成本在label.text中的增長就越多。我希望你明白我的意思。
我嘗試以下,以獲得一個工作:
artikelList = database.GetGroenteInfo();
//foreach (Artikel a in artikelList)
//{
// label2.Text = Convert.ToString(a.Prijs);
// label2.Text = cbGroentenLidl.SelectedItem;
//}
//foreach (Artikel a in lbLidlKosten.Items)
//{
// label2.Text = a.Prijs.ToString();
//}
//Artikel artikel = (Artikel)cbGroentenLidl.SelectedItem;
//label2.Text = artikel.Prijs.ToString();
foreach (Artikel a in lbLidlKosten.Items)
{
label2.Text = Convert.ToString(a.Prijs);
}
所有這些解決方案將無法正常工作。因爲我收到錯誤: 「無法將對象字符串轉換爲對象Artikel」。
有沒有人有線索?這可能很簡單..但我找不到它,並在最後3天內卡住了。
隨着親切的問候
也許它可以工作。但這一切都失敗的地方是不成熟的。當它試圖循環在每個artikel在我的列表或組合框中的每個artikel ..我得到的錯誤「無法將對象字符串轉換爲對象Artikel(類) –