如何在列表框中显示基类和子类的属性
本文关键字:基类 子类 属性 显示 列表 | 更新日期: 2023-09-27 18:21:42
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)
}
如何在列表框中同时显示名称和腿的数量?
像这样: 史蒂文 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(( 并在列表中使用它。
只是这个角度的另一个角度...