[英]How to display properties of base class and subclasses in listbox
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
}
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"
}
}
我喜欢保持数据实体“干净”,而不是仅添加显示相关的属性/方法。 我通常要做的是为显示创建本地实体。 假设AnimalDisplay在其ctor中获取了基本实体。 有了新的实体,我可以添加我只想用于显示的任何道具,或者在该实体中覆盖ToString()并在列表中使用它。
另一个角度...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.