我还不太擅长这个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”的基类,这两个类可以继承,然后能够添加到我的列表中?或者是否有更好的方法来解决这个问题(我确信有,但我还没有偶然发现!)
答案 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