'宣言 Public Overridable Sub Fetch( _ ByVal context As DataContext _ )
public virtual void Fetch( DataContext context )
例外 | 解説 |
---|---|
System.ArgumentException | context がサポートされている操作でない場合にスローされます。有効な Operation は、"FetchResource"、"FetchResources"、"FetchActivities"、"FetchReminders"のいずれかです。 |
System.ArgumentNullException | 指定した context がnull(Visual Basic .NETではNothing)の場合にスローされます。 |
このメソッドは、IDataFetchインターフェイスのFetchメソッドを実装します。WebScheduleInfo はこのインターフェイスを使用して、データバインド時にWebScheduleデータモデルのアクティビティとリソースをコレクションに格納します。このメソッドは、スケジュール管理アプリケーションから直接呼び出さないでください。
Fetchの基本クラス実装は次の操作を処理します。
継承クラスで独自のカスタムデータプロバイダーを作成している場合は、 Fetchをオーバーライドして、追加の操作、異なるリレーショナルデータベース管理システムでの現行の操作、およびデータバインディングをサポートする必要があります( たとえば、WebScheduleデータモデルがスケジュール管理アプリケーションから永続化できる型の数を増やすなど)。WebScheduleDbProvider を拡張してカスタムデータプロバイダーを作成する場合の詳細については、ヘルプドキュメントを参照してください。
WebScheduleDbProvider (追加の操作またはデータバインディング)を拡張する場合は、最初に context をチェックして、それが拡張した DataContext のいずれかと一致するかどうかを確認します。 一致する場合は、サブクラス側でそのコンテキストを、該当する操作と ScheduleDataBinding サブクラスを処理するためにサブクラスに実装されているメソッドにディスパッチします。ディスパッチした場合、サブクラスがそれをメソッドへディスパッチして操作および ScheduleDataBinding サブクラス、またはそのどちらかを処理するために実装します。コンテキストは、認識される操作と一致しない場合は、Fetchの基本実装を呼び出して、適切なディスパッチとエラー処理を行います。
新しいリレーショナルデータベース管理システム(またはその他の基になるデータソース)のサポートを追加するとき、標準操作(つまり、 "FetchActivities"や"AddActivity"など)に関するメソッドの実装はそのデータ技術と互換性がない場合があります。その場合は、サブクラスでオーバーライドした Fetch の実装で標準操作を処理し、新しいデータプラットフォームをサポートする独自のメソッドにディスパッチする必要があります。