1
インターフェイスのいくつかのメソッドを呼び出すWebユーザーコントロールがあります。 4つの異なるクラスがこのインタフェースを使用します。初期化や負荷に インターフェイスタイプでWebユーザーコントロールを読み込む方法
public interface IMultiTextProvider
{
bool Insert(string text, Guid campaignId);
IEnumerable<IMultiTextItem> GetItems(Guid campaignId);
}
は、私はこのような制御を設定しています(WUC *はコントロールIDで、プロバイダはインタフェースを実装するクラスのプロパティです):
private void SetMulitTextClassTypes()
{
wucMultiTextHandsetOrPlan.Provider = new HandsetOrPlanProvider();
wucMultiTextCallToAction.Provider = new CallToActionProvider();
wucMultiTextBonuses.Provider = new BonusProvider();
wucMultiTextRequirements.Provider = new RequirementProvider();
}
質問コントロールでこれを宣言的に行うことはできますか?
オブジェクトデータソースを使用しようとしていますが、プロパティがインスタンス化されるのが遅すぎます。
<CSControl:MultiTextUpdate ID="wucMultiTextBonuses" ControlTitle="Bonuses" runat="server" Provider="what goes here???" CampaignId="<%# CampaignId %>" />
そして、一つの制御を書くときにインターフェイスで機能を実行するために使用するより良いモデルがありますか? プロバイダの代わりにProviderTypeと、新しいインスタンスを呼び出す方法が必要なのでしょうか?