0

以下のように、ワークフロープロセス履歴アイテムの各アクティビティの承認ステータスを取得しようとしています。

var status = csClient.Read(activitiydetails.Id, readoption) as ApprovalStatusData;
logdetails("Activity Approval Status--->" + status.Title.ToString());

「オブジェクト参照エラー」が発生しています

4

1 に答える 1

5

演算子を使用してAsにキャストする場合、 から返されたオブジェクトが でない場合、その値は null になるとApprovalStatusData想定する必要があります。その後、次の行で使用しようとすると、オブジェクト参照エラーが発生します。csClient.Read()ApprovalStatusData

変数がactivitiydetails[sic] と呼ばれているという事実から、 が返されることを期待すべきではないようApprovalStatusDataです。

正しい Cast 演算子を使用してコードを記述した場合、キャストしようとするとコードは失敗し、InvalidCastException がスローされます。

var status = (ApprovalStatusData)csClient.Read(activitiydetails.Id, readoption);
logdetails("Activity Approval Status--->" + status.Title.ToString());
于 2012-08-07T13:43:43.313 に答える