查找字段和比较

本文关键字:比较 字段 查找 | 更新日期: 2023-09-27 18:18:13

我正在完成一个插件,但有一个小问题。我正在尝试使用一个查找字段与一个if。

当我尝试使用== operator时,什么也没有发生。对于Equals() method,我有一个例外,说object is not instantiated…我做错了什么?

插件在创建记录时的预操作时执行。

EntityReference modeleContrat = (EntityReference)target.Attributes["new_modeldecontrat"];
    throw new InvalidPluginExecutionException(modeleContrat.Name);
    if (modeleContrat.Name == ("Contrat d'unité"))
    {

查找字段和比较

我假设你输入问题的代码是你用来测试的,因为它目前不会运行由于异常。

你得到Object not Instantiated的错误意味着它在锡上所说的,在你的modeleContrat变量中没有值。

所以代码应该更有防御性,像这样:
EntityReference modeleContrat = (EntityReference)target.Attributes["new_modeldecontrat"];
if(modeleContrat != null && modeleContrat.Name == ("Contrat d'unité"))
{
    //Do Stuff
}

对于未实例化的modeleContrat。由于您的插件在预创建上运行,并且您正在从Target检索属性,我假设您将输入参数从插件上下文中取出以检索它。

这很好,但是Target将只包含在被保存的记录上设置的属性。

我假设"nothing"意味着您期望执行的逻辑没有执行。在这种情况下,if语句等于false。