简体   繁体   English

使用C#asp.net/ wf时出现文字错误

[英]literal error while working with c# asp.net/ wf

I made a drag-and-drop workflow, and got an Literal error while passing an object through the INargument. 我进行了拖放工作流,并在通过INargument传递对象时遇到了Literal错误。 Any ideas how I can get around this error? 有什么想法可以解决这个错误吗?

error: 'Literal': Literal only supports value types and the immutable type System.String. 错误:“文字”:文字仅支持值类型和不可变类型System.String。 The type System.Object cannot be used as a literal. 类型System.Object不能用作文字。

I've seen some answers, but all the examples are in hard-coded workflows, and I don't want rewrite the whole workflow in hard-code. 我已经看到了一些答案,但是所有示例都在硬编码的工作流中,并且我不想用硬编码重写整个工作流。

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

please help. 请帮忙。

You could try writing that particular line outside the object initializer. 您可以尝试在对象初始化程序之外编写该特定行。

Eg : 例如:

ActEmail.EmailList = AdminsToList;

Make the EmailList class immutable . 使EmailList类不可变

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

gl GL

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM