将CRM字段类型作为方法中的参数传递

时间:2015-04-16 09:42:07

标签: plugins parameters crm microsoft-dynamics

我想知道如何将CRM字段类型作为参数传递,因此我可以重用代码而不是生成相同代码的20行。

    private void UpdateField(Entity OldDefault, string CrmField, Object FieldType)
    {
        // My field type could be anuthing, BOOL, OptionsetValue or str.
        //
        if (OldDefault.GetAttributeValue<FieldType>(CrmField) != null)
        {
            Target[CrmField] = OldDefault.GetAttributeValue<FielType>(CrmField);
        }
    }

修改: 在Crm中我们有一个方法.GetAttributeValue&lt; T &gt;(fieldname),我的问题是如何通过方法参数传递一个类型,这样我就可以重用代码而不是为每个方法制作三种不同的方法类型。

exmp:

 - Entity.GetAttributeValue<OptionsetValue>("zm_somefield");
 - Entity.GetAttributeValue<string>("zm_someotherfield");
 - Entity.GetAttributeValue<EntityReference>("zm_field");

https://msdn.microsoft.com/en-us/library/gg326129.aspx

有没有办法将类型传递给我的方法,所以我可以重用我的代码有没有其他方法来编写代码来填充我的目标,而不是我的代码是什么类型的?

0 个答案:

没有答案