继承.net类

时间:2008-11-19 22:52:20

标签: c# .net asp.net

好的,这就是我要做的事情我想编写一个继承ListItem类的所有内容的类

class RealListItem : ListItem
{

  public string anExtraStringINeed;

}

出于某种原因,.net正在对所有成员进行处理,因为当我尝试这样做时他们是私人的,所以我的课程毫无价值。

我试图解决这个问题:

class RealListItem : ListItem
{
  public string anExtraStringINeed;
  public ListItem list;
}

但它仍然不起作用,因为我需要在使用接受类型ListItem的函数中使用它,并且RealListItem不能像它应该那样好玩。我可以执行aRealListItem.list但是只从RealListItem传递列表我需要传递整个对象。

这与我做错了什么或微软只是不让你继承.net类?

3 个答案:

答案 0 :(得分:10)

System.Web.UI.Controls.ListItem类是“密封的”......这意味着你不能继承它......

答案 1 :(得分:0)

正如Charles所说,ListItem是密封的,这意味着你不能继承它。在框架中,一些类被标记为密封而其他类则不标记。 (那些没有密封的你可以继承。)

您可以创建自己的ListItem,其中包含System.Web.UI.WebControls.ListItem,但我不认为这实际上会为您带来很多好处。

你想要完成的是什么?您可能需要找到另一种方法来做事。

答案 2 :(得分:0)

对于您需要的额外字符串,您可能最好使用所需的所有额外数据制作自定义对象,并将其存储在ListItem的“标记”字段中 - 这就是它的用途。