2013-03-25 34 views
4

我發現在我的一些代碼中,我有以下語法來防護FUBARing中的插件。我不能爲上帝的愛不記得爲什麼我把EntityReference有條件。目標總是一個實體還是它可以是EntityReference?

Context.InputParameters [ 「目標」]的EntityReference

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

是它曾經什麼以外實體

+0

還有一些其他的東西也可以 - 我確實有一個列表。現在,如果我只記得在哪裏...... – glosrob 2013-03-25 20:26:31

回答

10

目標可以是也爲EntityReference,從MSDN:

請注意,並非所有的請求包含一個目標屬性,該屬性是實體類型的,所以你必須要看看每個單獨的請求或響應。例如,DeleteRequest確實有一個Target屬性,但其類型是EntityReference。

Understand the Data Context Passed to a Plug-In

所以這取決於你的插件的邏輯,你可能還需要檢查屬性類型的EntityReference

+0

當然...... **現在**我記得 - 我在刪除實體時遇到了這個問題。非常好的答案:+1。 – 2013-03-25 11:54:09

相關問題