我可以在C#数组列表中存储类似的对象

时间:2013-06-25 23:32:01

标签: c# list class

我还不太擅长这个C#的东西......

我正在尝试创建一个简单对象列表,以便稍后序列化为JSON。问题是,有时,我需要对象是一种类型,有时是另一种类型。两个对象的差异很小。

这是两个相似的类(你会明白的):

class DataCell 
{
  string cellName {get; set;}
  string cellValue {get; set;}
}

class LinkCell
{
  string cellName {get; set;}
  linkObject cellValue = new linkObject("linkString", "linkHREF", "linkOnClick");
  //linkObject is a simple class with only 3 strings as well
}

我的问题是,是否有办法创建一个类型为“TableCell”的基类,这两个类可以继承,然后能够添加到我的列表中?或者是否有更好的方法来解决这个问题(我确信有,但我还没有偶然发现!)

1 个答案:

答案 0 :(得分:4)

如果它们是从同一个基类继承的话,你可以这样做:

class CellBase 
{
  string Name {get; set;}
  string Value {get; set;}
}

class DataCell : CellBase 
{
  //Data specific properties
}

class LinkCell : CellBase
{
  linkObject cellValue = new linkObject("linkString", "linkHREF", "linkOnClick");
  //linkObject is a simple class with only 3 strings as well
}

//Now create your list with

List<CellBase> cells

或者您的收藏品是通用的,即

List<object> cells