我想知道如何将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
有没有办法将类型传递给我的方法,所以我可以重用我的代码或有没有其他方法来编写代码来填充我的目标,而不是我的代码是什么类型的?