I'm new to C# TPL and DataFlow and I'm struggling to work out how to implement the TPL DataFlow TransformManyBlock
. I'm translating some other code into DataFlow. My (simplified) original code was something like this:
private IEnumerable<byte[]> ExtractFromByteStream(Byte[] byteStream)
{
yield return byteStream; // Plus operations on the array
}
And in another method I would call it like this:
foreach (byte[] myByteArray in ExtractFromByteStream(byteStream))
{
// Do stuff with myByteArray
}
I'm trying to create a TransformManyBlock
to produce multiple little arrays (actually data packets) that come from the larger input array (actually a binary stream), so both in and out are of type byte[]
.
I tried what I've put below but I know I've got it wrong. I want to construct this block using the same function as before and to just wrap the TransformManyBlock
around it. I got an error "The call is ambiguous..."
var streamTransformManyBlock = new TransformManyBlock<byte[], byte[]>(ExtractFromByteStream);