0

(Winform コントロール) プロパティを使用してPropertyGrid.SelectedObjects、複数のオブジェクトのプロパティを表示しています。基本的な検証を行い、ビジネス ロジックを実行する各オブジェクトの各プロパティのカスタム記述子があります。

すべての検証が完了したときにのみ、ビジネス ロジックを 1 回だけ実行したいと思います。どうやってそれをするのですか?

編集

値が設定されている場合、PropertyGrid コントロールは自動的に MergedPropertyDescriptor を使用し、ループ内でカスタム記述子の SetValue 関数を呼び出すため、複数のビジネス ロジックが呼び出されます。静的変数を使用せずにこれを回避したい

Edit2この質問はMicrosoft フォーラム にも投稿されています

4

1 に答える 1

0

最も簡単:

myForm.submit = function() {
  if (checkValidation()) {
    // business logic;
    if (OK) return true;
  }
  return false;
};

個人的には、submit メソッドを単にラッパーとして使用することを好みます ([true の場合] 内部の if ステートメントは、true または false を返す別の [ビジネス ロジック] 関数を呼び出します)。

于 2013-10-04T07:50:12.113 に答える