问题描述:
在flowchart的根创建了一个变量,类型是HashTable的,接着在后续的自定义活动中对其进行修改,变量和参数的绑定关系因为不需要用户每次设定,因此在代码中进行了指定。
public InArgument<string> myText { get; set; }
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
myText = new VisualBasicValue<string> { ExpressionText = "colltest" };
base.CacheMetadata(metadata);
}
如果是In类型的是没有问题,但如果是Out或InOut,那么就会出错了
public InOutArgument<string> myText { get; set; }
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
myText = new VisualBasicValue<string> { ExpressionText = "colltest" };
base.CacheMetadata(metadata);
}
红色部分为出错,描述为:Error 1 Cannot implicitly convert type 'Microsoft.VisualBasic.Activities.VisualBasicValue<string>' to 'System.Activities.InOutArgument<string>'
请问如何解决,我这个hashtable中有很多的变量集合,因为我这里的变量都是未知的,所以需要在流程启动时进行创建,后续节点再自动绑定参数对应关系,我觉得4.0这点好是好,但比较繁琐,求解决办法,谢谢
写成这样试试: myText = new InOutArgument<string>((env) => "colltest");