私は、フィールドの特定の値、オプションセットが特定の値と等しいかどうかをチェックするプラグインを作成しています。等しい場合は、特定のアクションを実行します。
プラグインのC#コード内で、[オプションセット]フィールドがnullでないこと、つまりデフォルト値に設定されていることを確認するにはどうすればよいですか?
私がしたこと(明らかに、それは間違っています)。なぜなら、それはNullチェックステートメントを通過したことがないからです。そして、私がチェックをしていなかった場合、私はこのエラーメッセージを受け取ります
エラー:
Unexpected exception from plug-in (Execute): CRM.AppStateHandler.Plugins.PostApplicationCreate: System.NullReferenceException: Object reference not set to an instance of an object.
コード:
application applicationEntity = entity.ToEntity<new_application>();
if (new_applicationEntity.new_Applicationstatus != null)
{
var applicationStatus = applicationEntity.new_Applicationstatus.Value;
if (applicationStatus == CRMConstants.EntityApplication.Attributes.ApplicationStatusOptions.Applying)
{
//my logic
}
}
ファイルconstants.csには次のものがあります
class CRMConstants
{
public struct EntityApplication
{
public struct Attributes
{
public struct ApplicationStatusOptions
{
// More before this
public const int Applying = 100000006;
// More to come
}
}
}