WF4.0 完整支援泛型活動,讓開發者能編寫型別安全、可複用的資料處理活動。本文示範一個通用集合列印活動的實作與設計器使用。
public sealed class GenericActivity<T> : CodeActivity
{
public InArgument<ICollection<T>> MyCollection { get; set; }
protected override void Execute(CodeActivityContext context)
{
var list = context.GetValue(this.MyCollection);
foreach (var obj in list)
{
Console.WriteLine(obj.ToString());
}
}
}
拖曳活動至設計器後,屬性視窗會出現 TypeArgument 下拉選單,可選擇具體型別 (如 String, Int32, 自訂型別等)。選定後,MyCollection 參數型別自動對應為 ICollection<String> 等。

流程設計:建立 List<String> 變數並加入測試資料,傳遞給 GenericActivity<String>。
執行結果:
配套原始碼:下載連結