我有自己的自定义类,它继承自DropDownList。有没有办法覆盖Items.Add程序?怎么样?
答案 0 :(得分:1)
您是否有特定原因要继承此类,因为您是否将此类提供给接口?如果答案是否定的,那么你真的应该使用组合而不是继承;那你的问题就不存在了。
答案 1 :(得分:0)
您无法覆盖默认的添加功能 - ListItemCollection
已被密封 - 但您可以编写扩展ListItemCollection
类的扩展方法。这是一个例子:
namespace Truthseeker.Extensions
{
using System.Web.UI.WebControls;
public static class ListItemCollectionExtensions
{
public static void Add(
this ListItemCollection collection,
ListItem item,
string extraParameter)
{
if (extraParameter.Contains("Add"))
collection.Add(item);
}
}
}
然后您可以编写如下内容:
DropDownList ddl = new DropDownList();
ddl.Items.Add(new ListItem("text", "value"), "Add");