0

まず、リストボックスはクラス プロジェクトの要件であると言うことから始めましょう。リストボックスに追加する前に文字列をフォーマットして、見栄えを良くしようとしています。文字列をフォーマットするオーバーライドがありますが、Product.ToString()それをリスト ボックスに追加すると、フォーマットが消えます。

ToStringProductクラスのメソッド:

public override string ToString()
{
    string newFormat = string.Format("{0,0}{1,20}", Name, Price);
    return newFormat;
}

更新方法:

protected void updateLists()
{
    availableProducts_LB.Items.Clear();
    foreach (Product p in customer.AvailableProducts)
        availableProducts_LB.Items.Add(p.ToString());

    shoppingCart_LB.Items.Clear();
    foreach (Product p in customer.shoppingCartList)
        shoppingCart_LB.Items.Add(p.ToString());
}
4

1 に答える 1

0

Product インスタンスを ListBox に直接追加するだけです (ToString を呼び出さないでください)。

availableProducts_LB.Items.Clear();
foreach (Product p in customer.AvailableProducts)
    availableProducts_LB.Items.Add(p);

ListBox は Product.ToString メソッドを使用して、リスト内の項目を表示します。

次に、ToString の return ステートメントにブレークポイントを設定して、期待する値であることを確認します。

于 2012-11-14T17:13:40.133 に答える