文字列にINT:[閉]「列」に「メソッドグループ」から変換することはできません

StackOverflow https://stackoverflow.com/questions/729642

質問

私は自分のフォーム上のListViewを持っています。私はそれはプログラムが実行されているdurringにコンテンツを追加したい。

これは私が使用するコード

public void FillList(string[] Name,int[] empty,int[] Population,int[] Max,int[] Check,int size)
{
    if (this.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate
        {
            for (int i = 0; i < size; i++)
            {
                ListViewItem item = new ListViewItem(Name[i]);

                item.SubItems.Add(empty[i].ToString); //error
                item.SubItems.Add(Population[i].ToString); //error
                item.SubItems.Add(Max[i].ToString);   //error

                if (Check != 1)
                    item.SubItems.Add("No");
                else
                    item.SubItems.Add("Yes");
                listView1.Items.Add(item);
            }
        });
    }
}

パラメータは文字列でなければならないと私は.ToStringを試してみましたが、私はこれを取得します

  

引数「1」:「文字列」「のメソッドグループ」へ変換することができない

役に立ちましたか?

解決

あなたは、メソッド呼び出しの括弧が欠落している。

ToString()

括弧なし、発現は方法群である - それは、一つ以上のオーバーロードされたメソッドへの参照です。

他のヒント

あなたは括弧を忘れてしまいました。

これは.ToString()する必要があります。

ジョンは、このトピックオフになっていますが、追加するサブ項目のそれぞれの構成されたクラスに渡すために、この方法を考えました。だから、ます:

class ListItem 
{
 public string Name {get; set;}
 public int Empty {get; set;}
 public int Population {get; set;}
 public int Max {get; set;}
 public bool Checked {get; set;}
} 

あなたが並んで渡された配列内の各アイテムを持っている必要がありますこの方法。多くの配列内のアイテムをラインアップしようとすると、頻繁に使用するインタフェースは難しい作ります。あなたの方法は次のようになります。

FillList(IList<ListItem> listItems)
{
if (this.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate
        {
            foreach (ListItem listItem in listItems)
            {
                ListViewItem item = new ListViewItem(listItem .Name);

                item.SubItems.Add(listItem.Empty.ToString());
                item.SubItems.Add(listItem.Population.ToString());
                item.SubItems.Add(listItem.Max.ToString());

                item.SubItems.Add(listItem.Checked ? "No" : "Yes");

                listView1.Items.Add(item);
            }
        }
    }
}

私はちょうどので、そこにまっすぐにこのコードを書いているかもしれない必要ないくつかのコードのクリーンアップ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top