2

だから私はここにこの方法を持っています:

    public async Task<PixelData> GrabPixelData(string imageFileName)
    {
        if (!ImageDictionary.ContainsKey(imageFileName))
        {
            // doesn't exist yet, so load it
            PixelData pd = await LoadPic(imageFileName);
            ImageDictionary.Add(imageFileName, pd);
        }

        var test = ImageDictionary[imageFileName];

        return ImageDictionary[imageFileName];
    }

デバッガーは、「test」に PixelData タイプのオブジェクトが含まれていることを示しています (実際の非静的値を持つ)。

ただし、呼び出し元のメソッドに戻ると、その行に null 参照例外があることが示されます。

    private async void LoadPic()
    {
        myObject.pixelData = await rootPage.GrabPixelData("obj1.png");
    }

MyObject も null ではありません (デバッガによると) ...

Task が返されるということですか?

編集:

ImageDictionary はディクショナリです。

4

2 に答える 2

1

LoadPic関数を return に変更しますTask

private async Task LoadPic()
{
    myObject.pixelData = await rootPage.GrabPixelData("obj1.png");
}
于 2013-02-28T04:23:14.897 に答える
0

Your method GrabPixelData clearly returns a Task<PixelData> instance and not PixelData. So yes, your guess is correct, it is returning a Task instance.

于 2013-02-28T04:40:02.417 に答える