0

以下のコードがあるとしましょう:

public class ContactDTO
{
   public string Email {get; set;}
   public decimal? ExchangeRate {get; set;}
}
......

var contacts = crm.GetEntities("contact")

var cList = new List<ContactDTO>();
foreach(contact in contacts)
{
  clist.Add(new ContactDTO
    {
      Email = contact.GetPropertyValue<string>("emailaddress1");
      ExchangeRate = contact.GetPropertyValue<decimal>("exchangerate");
    }
}

上記のコードでは、Dynamics で為替レートが null の場合、小数の既定値を取得しますが、これは必要なものではありません (null かどうかを知りたい)。私が使用する場合:

contact.GetPropertyValue<decimal?>("exchangerate")

Dynamics で null の場合、null を戻す必要がありますか? 他のシナリオでこれを試してみましたが、常に値の型の既定値が返されます。dto オブジェクト プロパティが null であることを確認できるように、null を取得するにはどうすればよいですか?

4

1 に答える 1

0

私が提案できる 1 つの方法は、GetPropertyValue メソッドの周りにヘルパー/ラッパーを記述して、戻り値の型をチェックし、戻り値の型が null 可能かどうかを確認することです (contact.GetPropertyValue("exchangerate") のように)。プロパティ値も null の場合その後、null を返します。HTH。:)

于 2011-08-10T07:43:47.207 に答える