BatchBlock的对面块是什么
What is the opposite block of BatchBlock
给定:
电子邮件 ID 列表
我在做什么:
使用 BatchBlock 组 ID 并为每个块调用一个 Transformblock,简化的 transformblock 如下所示:
var readBatch = new TransformBlock<List<int>, IEnumerable<Email>>(idList =>
{
List<Email> mails = new List<Email>();
foreach(var id in idList)
{
mails.Add(new Email(id));
}
return mails;
});
现在我的下一个 TransformBlock 是这样定义的
TransformBlock<Email,EMail> filterStep;
我搜索的内容:
所以我需要一个块,它允许我获得一个集合作为源和 returns N-Elements 作为结果。所以在这种情况下,一个块为枚举中的每个条目接收 IEnumerable<Email>
和 returns Email
。
所以我搜索的是 BatchBlock 的反义词,但我找不到它。我是不是忽略了什么?
TransformManyBlock 可能就是您要找的。它需要 TInput 和 returns IEnumerable (1:n).
您需要的区块是TransformManyBlock
。你 return 来自方块功能的 IEnumerable<Email>
它会自动单独传输每个项目:
var transformManyBlock = new TransformManyBlock<IEnumerable<Email>, Email>(emails => emails);
给定:
电子邮件 ID 列表
我在做什么:
使用 BatchBlock 组 ID 并为每个块调用一个 Transformblock,简化的 transformblock 如下所示:
var readBatch = new TransformBlock<List<int>, IEnumerable<Email>>(idList =>
{
List<Email> mails = new List<Email>();
foreach(var id in idList)
{
mails.Add(new Email(id));
}
return mails;
});
现在我的下一个 TransformBlock 是这样定义的
TransformBlock<Email,EMail> filterStep;
我搜索的内容:
所以我需要一个块,它允许我获得一个集合作为源和 returns N-Elements 作为结果。所以在这种情况下,一个块为枚举中的每个条目接收 IEnumerable<Email>
和 returns Email
。
所以我搜索的是 BatchBlock 的反义词,但我找不到它。我是不是忽略了什么?
TransformManyBlock 可能就是您要找的。它需要 TInput 和 returns IEnumerable (1:n).
您需要的区块是TransformManyBlock
。你 return 来自方块功能的 IEnumerable<Email>
它会自动单独传输每个项目:
var transformManyBlock = new TransformManyBlock<IEnumerable<Email>, Email>(emails => emails);