SORU
6 Temmuz 2011, ÇARŞAMBA


Nasıl bir alıcı ya da ayarlayıcı gelen zaman uyumsuz yöntem çağrısı için?

C alıcı ya da ayarlayıcı gelen zaman uyumsuz yöntem çağrısı için en zarif yolu olurdu ne#?

Burada kendimi açıklamak için sözde kod.

async Task<IEnumerable> MyAsyncMethod()
{
    return await DoSomethingAsync();
}

public IEnumerable MyList
{
    get
    {
         //call MyAsyncMethod() here
    }
}

CEVAP
6 Temmuz 2011, ÇARŞAMBA


Zaman uyumsuz özelliği desteği, zaman uyumsuz yöntem sadece yok beri çağırmalarına, yapamazsın. Gibi, iki seçenek vardır, hem de CTP yöntemleri zaman uyumsuz gerçeğini yararlanarak gerçekten sadece Task<T> Task döndüren bir yöntem vardır:

// Make the property return a Task<T>
public Task<IEnumerable> MyList
{
    get
    {
         // Just call the method
         return MyAsyncMethod();
    }
}

Ya da:

// Make the property blocking
public IEnumerable MyList
{
    get
    {
         // Block via .Result
         return MyAsyncMethod().Result;
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bigky226

    bigky226

    11 HAZİRAN 2006
  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007