public class ViewModel
{
public ObservableCollection Data { get; set; }
async public ViewModel()
{
Data = await GetDataTask();
}
public Task GetDataTask()
{
Task task;
//Create a task which represents getting the data
return task;
}
}
< /code>
Leider erhalte ich einen Fehler: < /p>
Der Modifikator Async < /code> ist für dieses Element nicht gültig < /p>
< /blockquote>
< /> Natürlich. />public async void Foo()
{
Data = await GetDataTask();
}
< /code>
Es funktioniert einwandfrei. Ebenso, wenn ich den alten Inside-Out-Weg benutze < /p>
GetData().ContinueWith(t => Data = t.Result);
< /code>
Das funktioniert ebenfalls. Ich habe mich nur gefragt, warum wir nicht auf
in einem Konstruktor direkt anrufen können. Es gibt wahrscheinlich viele (sogar offensichtliche) Kantenfälle und Gründe dagegen, ich kann mir einfach keine vorstellen. Ich habe auch nach einer Erklärung gesucht, kann aber keine finden.
Ich habe ein Projekt, bei dem ich versuche, einige Daten in einem Konstruktor zu füllen: < /p>
[code]public class ViewModel { public ObservableCollection Data { get; set; }
async public ViewModel() { Data = await GetDataTask(); }
public Task GetDataTask() { Task task;
//Create a task which represents getting the data return task; } } < /code>
Leider erhalte ich einen Fehler: < /p>
Der Modifikator Async < /code> ist für dieses Element nicht gültig < /p> < /blockquote> < /> Natürlich. />public async void Foo() { Data = await GetDataTask(); } < /code>
Es funktioniert einwandfrei. Ebenso, wenn ich den alten Inside-Out-Weg benutze < /p>
GetData().ContinueWith(t => Data = t.Result); < /code>
Das funktioniert ebenfalls. Ich habe mich nur gefragt, warum wir nicht auf [/code] in einem Konstruktor direkt anrufen können. Es gibt wahrscheinlich viele (sogar offensichtliche) Kantenfälle und Gründe dagegen, ich kann mir einfach keine vorstellen. Ich habe auch nach einer Erklärung gesucht, kann aber keine finden.
Ich habe eine Klasse Physicsgine , die die Spiellogik zusammenfasst. Intern wird eine Ball Instanz in einem privaten Feld enthält und bei jedem Update überprüft es auf Wandkollisionen und ruft...
Ich schreibe eine einfache Bibliothek, die in eine Azure -Speicherkonto -Tabelle schreibt. Die erste Methode ruft nur die zweite Methode auf, aber ich mache mir Sorgen, dass sie eine Aufgabe und dann...
Ich habe eine Windows Forms -App, die am Ende eine SteamApp startet. Ich möchte, dass meine App wartet, bis das Spiel gefunden wird und wenn es geschlossen ist, um ein paar weitere Sachen zu machen....