Ho bisogno le seguenti chiamate possibili all'interno della stessa libreria di classi portatile:.portatile Libreria di classi con asincrono attendono & 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; }
}
}
Con i seguenti quadri obiettivo fissati:
- . nET Framework 4.5
- Sliverlight 5
- Windows Phone 8
- . Rete per Windows Store applicazioni
ottengo questo errore di generazione:
Non riesci a trovare tutti i tipi richiesti dal modificatore 'asincrono'. Stai prendendo di mira la versione di framework sbagliata o manca un riferimento a un assembly?
Ho provato a installare lo bcl ma ho ancora lo stesso errore. E se rimuovo il target Sliverlight l'async funziona ma poi perdo il puntello IsValueType dalla classe Type ...
Non vedo alcun motivo perché quel metodo sia 'async'. Basta rimuovere 'async',' await', e il gioco è fatto. Oltre a ciò, non vedo nemmeno perché l'operazione debba avvenire in un thread thread thread; la generazione di un singolo GUID è un'operazione * molto * veloce. Perderai un * lotto * più tempo a partire dal thread del pool di thread. – Servy
L'esempio serve esclusivamente per ricreare l'errore di compilazione e non è indicativo di come sia strutturata la soluzione. – jaimie