Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 为工作流变量赋值 我有一个关于Windows工作流基础4的问题。我有一个名为PositionArrayActivity的活动。此活动中有一个序列活动。我需要在Execute方法(在工作流执行期间)中使用一个基金变量,将其值映射到在Create方法中创建的PORTFOLIO_名称。。。。要在运行时将oneFund价值映射到PORTFOLIO_名称,我必须做些什么_C# 4.0_Workflow Foundation 4_Workflow Activity - Fatal编程技术网

C# 4.0 为工作流变量赋值 我有一个关于Windows工作流基础4的问题。我有一个名为PositionArrayActivity的活动。此活动中有一个序列活动。我需要在Execute方法(在工作流执行期间)中使用一个基金变量,将其值映射到在Create方法中创建的PORTFOLIO_名称。。。。要在运行时将oneFund价值映射到PORTFOLIO_名称,我必须做些什么

C# 4.0 为工作流变量赋值 我有一个关于Windows工作流基础4的问题。我有一个名为PositionArrayActivity的活动。此活动中有一个序列活动。我需要在Execute方法(在工作流执行期间)中使用一个基金变量,将其值映射到在Create方法中创建的PORTFOLIO_名称。。。。要在运行时将oneFund价值映射到PORTFOLIO_名称,我必须做些什么,c#-4.0,workflow-foundation-4,workflow-activity,C# 4.0,Workflow Foundation 4,Workflow Activity,谢谢 public sealed class PositionArrayActivity : NativeActivity, IActivityTemplateFactory { [Browsable(false)] public Dictionary<string, List<Entity>> dictionary = new Dictionary<string, List<Entity>>(); public Activ

谢谢

public sealed class PositionArrayActivity : NativeActivity, IActivityTemplateFactory
{
    [Browsable(false)]
    public Dictionary<string, List<Entity>> dictionary = new Dictionary<string, List<Entity>>();
    public ActivityAction<Entity[]> Body { get; set; }
    public Entity[] PositionList { get; set; }
    public SqlDataReader rdr;
    public SqlDataReader sdr;
    public Entity[] positionArray;
    public List<String> fundList;
    public String oneFund { get; set; }
    public String date { get; set; }
    public List<Entity> listToArrayPositions;

    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        metadata.AddDelegate(Body);
    }

    protected override void Execute(NativeActivityContext context)
    {
       // A lot of code.... 
    }


    public Activity Create(DependencyObject target)
    {
        Variable<string> var = new Variable<string>
        {
            Name = "PORTFOLIO_NAME"
        };

        var fef = new PositionArrayActivity();  
        var aa = new ActivityAction<Entity[]>();
        var da = new DelegateInArgument<Entity[]>();
        da.Name = "positions";
        fef.Body = aa;
        aa.Argument = da;
        aa.Handler = new Sequence
        {
            Variables = { var }
        };

        return fef;
    }
}
公共密封类位置阵列活动:NativeActivity,IActivityTemplateFactory
{
[可浏览(错误)]
公共字典=新字典();
公共活动操作体{get;set;}
公共实体[]位置列表{get;set;}
公共SqlDataReader-rdr;
公共SqlDataReader sdr;
公共实体[]位置数组;
公开名单基金名单;
公共字符串oneFund{get;set;}
公共字符串日期{get;set;}
公共列表列表到ArrayPositions;
受保护的覆盖无效缓存元数据(NativeActivityMetadata)
{
元数据.AddDelegate(Body);
}
受保护的覆盖无效执行(NativeActivityContext上下文)
{
//很多代码。。。。
}
公共活动创建(DependencyObject目标)
{
变量var=新变量
{
Name=“投资组合名称”
};
var fef=新位置ArrayActivity();
var aa=新的ActivityAction();
var da=新的DelegateInArgument();
da.Name=“职位”;
fef.Body=aa;
aa.参数=da;
aa.Handler=新序列
{
变量={var}
};
返回fef;
}
}

您需要一个ActivityContext来设置变量值,因此首先将var的声明(该名称是否实际编译?)移动到更高的范围

然后执行 var.Set(activityContext,oneFund)


但有一点是,oneFund属性在应用程序启动时只设置一次,因此您可能会得到一些令人惊讶的结果。如果你想让每一个例子都是这样,你需要一个不确定的答案

您需要使用ActivityContext来设置变量值,因此首先将var的声明(该名称是否实际编译?)移动到更高的范围

然后执行 var.Set(activityContext,oneFund)


但有一点是,oneFund属性在应用程序启动时只设置一次,因此您可能会得到一些令人惊讶的结果。如果你想让每一个例子都是这样,你需要一个不确定的答案

投资组合名称值没有问题问题问题是。。。我如何才能在另一个活动中使用oneFund价值而不执行分配活动我不太清楚您使用oneFund做什么,对不起。是的,例如,我创建了PORTFOLIO_NAME变量,将其中的一个基金值放在那里,在另一个Writeline活动中,我想使用这个PORTFOLIO_NAME变量关于PORTFOLIO_NAME值的问题是。。。我如何才能在另一个活动中使用oneFund价值而不执行分配活动我不太清楚您使用oneFund做什么,对不起。是否为每个实例设置一次,并且您希望能够在该实例中的多个活动中使用它?是的,例如,我创建了PORTFOLIO_NAME变量,将其中的一个基金值放在另一个Writeline活动中,我希望使用此PORTFOLIO_NAME变量