2014-09-13 46 views
0
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

什麼是animalList的類型? – 2014-09-13 17:07:51

+0

GetAnimals()返回列表 MrDean 2014-09-13 17:18:20

回答

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" 
    } 
} 
+0

謝謝!有用!我想我必須重寫前面的ToSTring()方法。狗類等等... – MrDean 2014-09-13 17:37:36

0

我喜歡保持數據實體'乾淨',並且不添加僅顯示相關屬性/方法。 我通常所做的是爲顯示創建本地實體。讓我們說AnimalDisplay,它可以在它的ctor中獲得基礎實體。使用新實體,我可以添加任何我想要顯示的道具,或者覆蓋該材料中的ToString()並在列表中使用它。

在這一個只是另一個角度...

相關問題