假设我有两个类,例如:
public class Pineapple
{
public bool Ripe{get;set;}
public string State{get;set;}
}
和:
public class Bean
{
public string Type{get;set;}
public bool Bloats{get;set;}
}
我想在一个方法中返回这两个类的可观察集合。这就是我的意思,而不是:
public ObservableCollection<Pineapple> GetPineapples()
{
//some code that fetches pine apples
}
还有另一种方法:
public ObservableCollection<Bean> GetBeans()
{
//some code that fetches beans
}
我该怎么把@T ie ObservableCollection引用这两个类
答案 0 :(得分:3)
您可以拥有基类,例如Plant
,Pineapple
和Bean
都应该继承(或接口,例如IPlant
,两者都应该实现)。
然后你可以做类似的事情:
public class Plant {}
public class Pineapple : Plant ...
public class Bean: Plant ...
public ObservableCollection<Plant> GetPlants()
答案 1 :(得分:0)
您还可以使用名为ViewModel的东西(它通常用于Web,它只是一个代理类,提供有关不同类的一些信息),您可以为每个类添加c'tors;
public class Info
{
public string Info1 { get; set; }
public bool Info2 { get; set; }
public Info(Pineapple p)
{
this.Info1 = p.State;
this.Info2 = p.Ripe;
}
public Info(Bean b)
{
this.Info1 = b.Type;
this.Info2 = b.Bloats;
}
}
P.S。
但是如果你有很多类,你应该考虑使用抽象类/接口。