DropDownList から継承する独自のカスタム クラスがあります。Items.Add プロシージャをオーバーライドする方法はありますか? どのように?
質問する
148 次
2 に答える
1
このクラスをインターフェイスに提供するなど、このクラスから継承したい特定の理由はありますか? 答えが「いいえ」の場合は、継承よりも構成を使用する必要があります。あなたの問題は存在しません。
継承よりも構成を優先しますか? を参照してください。
于 2010-07-11T22:30:15.943 に答える
0
デフォルトの Add 機能をオーバーライドすることはできません --封印されています -- しかし、クラス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");
于 2010-07-11T22:15:11.070 に答える