【问题标题】:can I store similar objects in a C# array list我可以在 C# 数组列表中存储类似的对象吗
【发布时间】:2013-06-25 23:32:01
【问题描述】:

我还不太擅长 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”的基类,然后这两个类都可以继承并添加到我的列表中?或者有没有更好的方法来处理这个问题(我确定有,只是我还没有偶然发现!)

【问题讨论】:

  • 对象 cellValue {get;设置;} ?

标签: c# list class


【解决方案1】:

如果它们是从同一个基类继承的,则可以:

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

【讨论】:

  • List 中的单元格是什么?你是说 CellBase 吗?
  • 我想你的意思是List&lt;CellBase&gt;
  • 是的,谢谢,我在最后一分钟重命名了基类,但忘记修复最后一行
猜你喜欢
  • 1970-01-01
  • 2019-06-24
  • 2012-11-02
  • 2011-10-12
  • 1970-01-01
  • 2010-12-29
  • 2021-06-18
  • 2021-05-03
  • 2011-10-13
相关资源
最近更新 更多