谁能解释一下:
public class Test : List<int>
{
public override string ToString()
{
return "My ToString";
}
}
如果我实例化它并将它添加到 Windows Form
上的 ListBox
控件中,它会显示“Collection”而不是“My ToString”。
Test test = new Test();
listBox1.Items.Add(test);
我认为添加到 Items
只会调用我类(class)的 ToString()
。以下当然按预期工作
MessageBox.Show(test.ToString());
最佳答案
为此,您必须禁用格式设置:
listBox1.FormattingEnabled = false;
看起来如果启用了格式化,它会做一些魔术,结果并不总是应该的......
关于c# - 覆盖 ToString() 并添加到 ListBox C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744105/