私はいくつかの異なるカスタムコントロールを作成しています。それぞれ異なるコントロールを実装していますが、共通のプロパティと機能が追加されています。だから私はそれらの共通のプロパティ(一般的なgetterとsetterで)とその機能の複製を抽象クラスに配置したいと思っていました。しかし、私は、私の抽象クラスと私が上に構築しているベースのWebコントロールの両方の実装を許可するコントロールとその基盤を構築する方法の周りに私の頭を包んで苦労している。誰か助けてくれますか?私のカスタムコントロールのクラス継承を設計する
コントロールのいくつかを、私は私の抽象クラス
public abstract class AssetDataInputControlBase<T> : Control,
IAssetDataInputControl<T>
{
protected virtual int AssetId
{
get
{
object o = ViewState["AssetId"];
return o == null ? 0 : (int)o;
}
set { ViewState["AssetId"] = value; }
}
protected virtual AssetStructureField StructureField
{
get
{
object o = ViewState["StructureField"];
return o == null ? null : (AssetStructureField)o;
}
set { ViewState["StructureField"] = value; }
}
public abstract T DataField { get; set; }
}