如何在列表框中显示基类和子类的属性

本文关键字:基类 子类 属性 显示 列表 | 更新日期: 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(( 并在列表中使用它。

只是这个角度的另一个角度...