2013-03-06 15 views
10

aynı taşınabilir sınıf kitaplığı içindeki olası şu aramaları gerekir:. set aşağıdaki hedef çerçeveler ileTaşınabilir Sınıf Kitaplığı bekliyor & GetType() IsValueType

public class Foobar 
{ 
    void Foo() 
    { 
     var b = GetType().IsValueType; //<-- 2 
    } 

    async Task<IEnumerable<T>> Bar<T>() 
     where T : class, IBaz, new() 
    { 
     return await Task.Factory.StartNew(() => new List<T>(new[] //<-- 1 
      { 
       new T {Qux = Guid.NewGuid().ToString()} 
      })); 
    } 

    interface IBaz 
    { 
     string Qux { get; set; } 
    } 
} 

:

  • . net Framework 4.5
  • Sliverlight 5
  • Windows Phone 8
  • .
    'zaman uyumsuz' değiştirici gerektirdiği her türlü bulunamıyor: Windows Mağazası için net

Bu yapı hatası alıyorum uygulamalar. Yanlış çerçeve sürümünü mi hedefliyorsunuz yoksa bir derleme referansı mı eksik?

bcl'u yüklemeyi denedim, ancak yine de aynı hatayı aldım. Ve Sliverlight hedefini kaldırırsam, async çalışır ancak IsValueType desteğini Tür sınıfından kaybeder ...

+3

Bu yöntemin "async" olması için hiçbir neden göremiyorum. Sadece 'uyumsuz' mesajını kaldır, 'bekle' ve işin bitti. Bunun ötesinde, bu işlemin neden bir iş parçacığı havuzu iş parçacığında gerçekleşmesi gerektiğini bile görmüyorum; Tek bir GUID oluşturmak, * çok * hızlı bir işlemdir. İş parçacığı havuzu iş parçacığı başlatıldığında * lot * daha fazla zaman kaybedersiniz. – Servy

+0

Örnek, yalnızca derleme hatasının yeniden oluşturulması içindir ve çözümün nasıl yapılandırıldığının bir göstergesi değildir. – jaimie

cevap

12

Microsoft.Bcl.Async'u yüklemeniz gerekir.

+1

Teşekkürler, kaçırdığım bir şey olduğu için memnunum ... – jaimie

İlgili konular