1

次のタスクチェーンがあります。最後のタスクで変数にアクセスしたいのですdecoderが、ずっと前のタスクで作成しました。

create_task(file->OpenReadAsync()).then([](IRandomAccessStream^ inStream) {
    return BitmapDecoder::CreateAsync(inStream);

}).then([localFolder](BitmapDecoder^ decoder) {
    return localFolder->CreateFileAsync("map.png", CreationCollisionOption::ReplaceExisting);

}).then([](StorageFile^ outFile) {
    return outFile->OpenAsync(FileAccessMode::ReadWrite);

}).then([](IRandomAccessStream^ outFileStream) {
    return BitmapEncoder::CreateAsync(BitmapEncoder::PngEncoderId, outFileStream);

}).then([](BitmapEncoder^ encoder) {
    BitmapPixelFormat pixelFormat = decoder->BitmapPixelFormat; // how do I make decoder available here?
    // Do stuff that uses encoder & decoder
});
4

1 に答える 1

0

最後に、必要な変数を、タスクチェーンを含む関数のローカル変数に割り当てました。

于 2012-12-14T04:40:29.990 に答える