0

我做了一个拖放工作流,并在通过 INargument 传递对象时遇到了文字错误。有什么想法可以解决这个错误吗?

错误:'Literal':Literal 仅支持值类型和不可变类型 System.String。System.Object 类型不能用作文字。

我已经看到了一些答案,但所有示例都在硬编码的工作流程中,我不想用硬代码重写整个工作流程。

WorkflowActivitycheckdb ActEmail = new WorkflowActivitycheckdb { 
    EmailList = AdminsToList, 
    EmailContent = tolist, 
    UserName = name, 
    UnApprovedS = UnApproved, 
    NumberOfUsers = tel, 
    NumberOfAdmins = tel2 
}; 
WorkflowInvoker.Invoke(ActEmail);

请帮忙。

4

2 回答 2

0

您可以尝试在对象初始化程序之外编写该特定行。

例如:

ActEmail.EmailList = AdminsToList;

使 EmailList 类不可变

于 2013-06-20T05:54:18.677 回答
0
WorkflowActivitycheckdb ActEmail = new WorkflowActivitycheckdb { 
    EmailList = new InArgument<Whateveryourobjectis>( x=> AdminsToList), 
    EmailContent = tolist, 
    UserName = name, 
    UnApprovedS = UnApproved, 
    NumberOfUsers = tel, 
    NumberOfAdmins = tel2 
}; 
WorkflowInvoker.Invoke(ActEmail);

于 2013-06-24T18:39:38.030 回答