У меня есть следующий код, и я пытаюсь найти более элегантный подход к этому. activityParty - это DataCollection. Я в основном пытаюсь получить список получателей для электронной почты, которые могут быть типа пользователей или контактов.CRM Late Bound - Cleaner Approach
Я знаком с ранней оценкой, но в этом сценарии необходимо использовать позднюю границу.
Есть ли лучший подход к этому?
var recipientParty = activityParty.Where(x => x.GetAliasedValueOrDefault<OptionSetValue>("ap.participationtypemask").Value == 2).ToList();
var recipientList = new List<string>();
foreach (var to in recipientParty)
{
if (to.Attributes.Contains("u.internalemailaddress"))
{
recipientList.Add(to.GetAliasedValueOrDefault<string>("u.internalemailaddress"));
}
if (to.Attributes.Contains("c.emailaddress1"))
{
recipientList.Add(to.GetAliasedValueOrDefault<string>("c.emailaddress1"));
}
}
проверить, может ли это помочь http://www.crmanswers.net/2014/09/getattributevalue-activityparty.html –