Microsoft Dynamics CRM APIを使用して、CRMによって与えられたEntityCollectionから得られた情報をフォームに入力するプログラムを作成しています。私の問題は、エンティティがKeyValuePair<string, object>
で構成されており、これが頭痛の原因です。 kvps内のいくつかのオブジェクトは実行時にタイプOptionSetValue
であり、OptionSetValue
に追加のアクセサが必要なため、実際に値にアクセスする方法が必要です。プログラムがコンパイルされますが、それはから変換しようとしますので、実行時にexpectionがスローされます上記の例ではオブジェクト型をMicrosoft.Xrm.Sdk.OptionSetValue型に変換する
foreach (KeyValuePair<string, object> thePair in e.Attributes.ToList())
{
int theResult = thePair.Value;
}
:ここ
は私の問題(「E」であるエンティティ)を実証するためのいくつかのサンプルコードですOptionSetValue
~
int32
。 C#コンパイラは
thePair
が実行時までタイプ
OptionSetValue
であることを知っていないので、
.Value
アクセサは私が必要な値を返します。このシナリオでは
foreach (KeyValuePair<string, object> thePair in e.Attributes.ToList())
{
int theResult = thePair.Value.Value;
}
、しかし:
は、ここで私は何とか達成したいものですオブジェクトタイプに.Value
のメンバーがないため、コンパイルされません。
私の問題についてのご意見やご要望はありますか?