2010-10-12 206 views
0

我在WF4中使用List(字符串),因爲我想執行設置操作(如獲取不同等)並獲得了qs。關於使用AddToCollection活動。是否可以用一個語句添加多個項目? 例如我想在一個活動中添加「alpha」,「bravo」,「charlie」而不是三個在WF4(工作流)中使用AddToCollection添加很多項目

集合 - 字符串對我來說效果不好,因爲我無法在客戶端的C#調用中獲取它。如果您有解決方案,我也可以使用它。

在此先感謝。

回答

1

不,內置AddToCollection活動只支持一次添加一個。這很可能是因爲它使用的是IList interface,它不提供散列添加項目的方法,與列表中有AddRange的列表不同。您應該能夠非常輕鬆地編寫AddManyToList活動。下面是一些示例代碼,讓你布萊恩:

public sealed class AddManyToList<T> : CodeActivity 
{ 
    [RequiredArgument] 
    public InArgument<List<T>> List 
    { 
     get; 
     set; 
    } 

    [RequiredArgument] 
    public InArgument<IEnumerable<T>> Items 
    { 
     get; 
     set; 
    } 

    public override void Execute(CodeActivityContext context) 
    { 
     this.List.Get(context).AddRange(this.Items.Get(context)) 
    } 
} 
2

如果你不希望創建一個代碼活動,則有一條捷徑(我使用它)

使用分配活動來分配變量如下

names = names.Union(New String() 
    {"alpha","bravo","charlie"}).ToList() 
+0

這似乎是真正被要求的:將一個列表添加到列表中。我喜歡。 – 2012-07-11 18:36:03

相關問題