如何从工作流程历史记录中获取批准状态?

时间:2012-08-07 13:00:23

标签: c# tridion tridion-2011

我正在尝试获取工作流程过程历史记录项的每个活动的批准状态,如下所示。

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

我收到“对象引用错误”

1 个答案:

答案 0 :(得分:5)

当您使用As运算符转换为ApprovalStatusData时,如果从csClient.Read()返回的对象不是ApprovalStatusData,则应该预期其值为null 。当您尝试在以下行中使用它时,您将收到对象引用错误。

似乎可能是因为您的变量被称为activitiydetails [sic],您不应该期望返回ApprovalStatusData

如果使用正确的Cast运算符编写代码,则在尝试转换时代码将失败,并抛出InvalidCastException。

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