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 也可以是 EntityReference,来自 MSDN:

请注意,并非所有请求都包含 Entity 类型的 Target 属性,因此您必须查看每个单独的请求或响应。例如,DeleteRequest 确实有一个 Target 属性,但它的类型是 EntityReference。

了解传递给插件的数据上下文

因此,根据插件的逻辑,您可能还需要检查EntityReference的属性类型。

于 2013-03-25T11:00:04.410 回答