C# 如何从分配给任务的字段中获取SPuser对象

C# 如何从分配给任务的字段中获取SPuser对象,c#,visual-studio-2008,sharepoint,sharepoint-2007,sharepoint-workflow,C#,Visual Studio 2008,Sharepoint,Sharepoint 2007,Sharepoint Workflow,您好,我有一个sharepoint 2007工作流,我需要获取SPuser对象以便向用户发送邮件,但我只能从任务的“分配给”字段中获取字符串。 我该怎么做 这是我的密码 foreach (SPWorkflow workflow in splistitem.Workflows) { foreach (SPWorkflowTask task in workflow.Tasks) { string user = task["Assigned To"].ToStri

您好,我有一个sharepoint 2007工作流,我需要获取SPuser对象以便向用户发送邮件,但我只能从任务的“分配给”字段中获取字符串。 我该怎么做

这是我的密码

foreach (SPWorkflow workflow in splistitem.Workflows)
{
     foreach (SPWorkflowTask task in workflow.Tasks)
     {
         string user = task["Assigned To"].ToString();
     }
}
为了使其更加健壮,可以使用
SPBuiltInFieldId.AssignedTo
而不是硬编码的
“AssignedTo”

string assignedToValue = task["Assigned To"].ToString();
SPFieldUserValue userField = (SPFieldUserValue)workflow.Tasks.Fields["Assigned To"].GetFieldValue(assignedToValue);
SPUser user= userField.User;