public class Animal
{
public string Name {get;set;}
}
public string Cat : Animal
{
public int AmountOfTeeth {get;set;}
}
//In Form.cs:
public void showAnimal(){
var animalList = _animalManager.GetAnimals();
foreach(var animal in animalList)
{
animalListbox.Items.Add(animal)
}
如何在列表框中同时显示Name和AmountOfLegs?
像这样:史蒂文14
}
答案 0 :(得分:2)
ListBox
组件显示ToString()
方法返回的内容。您可以通过覆盖方法
public class Cat : Animal // note you probably mistyped "class" here
{
public int AmountOfTeeth { get; set; }
public override string ToString()
{
return Name + " has " + AmountOfTeeth + " teeth"
}
}
答案 1 :(得分:0)
我喜欢保持数据实体的清洁'而不是只添加显示相关的属性/方法。 我通常做的是为显示创建本地实体。让我们说AnimalDisplay在它的ctor中获得基本实体。使用新实体,我可以添加我想要显示的任何道具,或覆盖该母版中的ToString()并在列表中使用它。
这个问题的另一个角度......