2016-11-17 26 views
1

的定義,如果我想從UWP類庫「任務」不包含「AsAsyncOperation」

public async Task<int> PlaySound(SoundGroup soundGroup, int index, Duration duration) 

然後我需要創建一個包裝公開此方法從而

public IAsyncOperation<int> PlaySoundAsync(SoundGroup soundGroup, int index, Duration duration) 
{ 
    return PlaySound(soundGroup, index, duration).AsAsyncOperation(); 
} 

但同樣的伎倆失敗,此方法

public async Task PreLoadSoundPlayers() 

因爲這

public IAsyncOperation PreLoadSoundPlayersAsync() 
{ 
    return PreLoadSoundPlayers().AsAsyncOperation(); 
} 

給出了錯誤

「任務」不包含關於「AsAsyncOperation」和沒有擴展方法「AsAsyncOperation」接受類型「任務」的第一個參數的定義可以發現

在UWP類庫中公開異步方法沒有數據返回類型的正確模式是什麼?

回答

2

發現它 - 我需要使用操作而不是操作。

public IAsyncAction PreLoadSoundPlayersAsync() 
{ 
    return PreLoadSoundPlayers().AsAsyncAction(); 
}