動的エンティティを使用して新しい連絡先を作成しようとしています。CRM SDK で見つけたサンプルには、このコードが含まれていました。
// Set the properties of the contact using property objects.
StringProperty firstname = new StringProperty();
firstname.Name = "firstname";
firstname.Value = "Jesper";
StringProperty lastname = new StringProperty();
lastname.Name = "lastname";
lastname.Value = "Aaberg";
// Create the DynamicEntity object.
DynamicEntity contactEntity = new DynamicEntity();
// Set the name of the entity type.
contactEntity.Name = EntityName.contact.ToString();
// Set the properties of the contact.
contactEntity.Properties = new Property[] {firstname, lastname};
私のコードでは、次の実装があります。
StringProperty sp_Field1 = new StringProperty("Field1","Value1");
StringProperty sp_Field2 = new StringProperty("Field2","Value1");
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the DynamicEntity object.
DynamicEntity contactEntity = new DynamicEntity();
// Set the name of the entity type.
contactEntity.Name = EntityName.contact.ToString();
// Set the properties of the contact.
contactEntity.Properties = new Property[] {sp_Field1,sp_Field2};
コードに大きな違いは見られません。インターネットで見つけた例では、SDK で見つけたものと同じ実装をしています。しかし、同じものを実行すると、次のエラーが発生します
CS0029: 型 'Microsoft.Crm.Sdk.StringProperty' を 'Microsoft.Crm.Sdk.PropertyCollection' に暗黙的に変換できません
タイプPropertyCollection(mscrm名前空間に属するもの)の新しい変数を作成しようとし、それにstringpropertysを追加してエンティティに渡しました。
Microsoft.Crm.Sdk.PropertyCollection propTest = new Microsoft.Crm.Sdk.PropertyCollection();
propTest.Add(sp_SSNNo);
propTest.Add(sp_FirstName);
contactEntity.Properties = new Property[] {propTest};
これにより、次のエラーが発生しました
CS0029: 型 'Microsoft.Crm.Sdk.PropertyCollection' を 'Microsoft.Crm.Sdk.Property' に暗黙的に変換できません
マイナーな型キャスト エラーであると確信していますが、エラーの場所を特定できません。さらに、型キャスト エラーであったとしても、インターネットで提供されたすべてのサンプルで機能し、私では機能しないのはなぜですか。コード サンプルを実行しようとしましたが、同じ変換エラーが発生します。これについてさらに情報が必要な場合はお知らせください。これに関する助けがあれば幸いです。