メインコンテンツまでスキップ

IModelInitializationProvider インタフェース

名前空間: NextDesign.Core.EditingCapabilities

説明

モデルのインスタンス初期化プロバイダです。
モデルのインスタンス初期化をカスタマイズしたい場合は、このインタフェースの実装オブジェクトをレジストリに登録します。

所属エリア

名前説明
EditingCapabilityEditingCapabilityにアクセスするAPI群です。

継承元

名前説明
IEditingCapabilityProviderプロバイダの基底となるインターフェースです。

メソッド

名前説明
InitializeFieldsモデルに対する初期化を行います。

性能面のボトルネックとならないように注意して実装してください。
本メソッドの実装において、さらにフィールドにモデルを追加した場合、追加したモデルに該当する
プロバイダの登録があれば、その時点でIModelInitializationProvider.InitializeFieldsが実行されます。

プロバイダの実装では、呼び出しが再帰しないように注意してください。
例えば、コンポジット構造のモデルに対して、プロバイダ内で子要素を作成するように実装した場合
IModelInitializationProvider.InitializeFieldsの呼び出しが無限ループします。

このメソッドが例外をスローした場合は、新しいモデルの作成自体が失敗したものとして処理全体がロールバックされます。
InitializeProviderこのプロバイダの初期化を行います。
このプロバイダを有効化するメタクラスをコンテキストに登録することで、モデルの生成時にプロバイダが実行されます。

このメソッドは、プロバイダをIEditingCapabilityProviderRegistryに登録した際にコールバックされます。