4

コードの一部に、プラグインを FUBARing から保護する次の構文があることを発見しました。神の愛のために、なぜEntityReferenceの選言条件を付けたのか思い出せません。

Context.InputParameters["Target"]はすべてEntityReferenceですか?

bool goodToGo 
  = Context.InputParameters.Contains("Target")
    && Context.PrimaryEntityName == "email";
    && (
      Context.InputParameters["Target"] is Entity
      || Context.InputParameters["Target"] is EntityReference);

Entity以外のものありますか?

4

1 に答える 1

10

Target は、MSDN の EntityReference にすることもできます。

すべてのリクエストに Entity 型の Target プロパティが含まれているわけではないため、個々のリクエストまたはレスポンスを確認する必要があることに注意してください。たとえば、DeleteRequest には Target プロパティがありますが、その型は EntityReference です。

プラグインに渡されるデータ コンテキストを理解する

したがって、プラグインのロジックによっては、EntityReferenceのプロパティ タイプも確認する必要がある場合があります。

于 2013-03-25T11:00:04.410 に答える