Muszę wywołać wywołanie zwrotne, gdy pętla foreach
zakończy wyszukiwanie wszystkich elementów w numerze List<>
.Pożarowe wywołanie zwrotne po asynchronizacji Metoda zadania
private async void startSearchBtn_Click(object sender, EventArgs e)
{
await Search(files, selectTxcDirectory.SelectedPath, status);
}
private static async Task Search(List<string> files, string path, Label statusText)
{
foreach (string file in files)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(file);
statusText.Text = "Started scanning...";
using (XmlReader reader = XmlReader.Create(new StringReader(xmlDoc.InnerXml), new XmlReaderSettings() { Async = true }))
{
while (await reader.ReadAsync())
{
if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "LineName"))
{
Console.WriteLine(reader.ReadInnerXml());
}
}
}
}
}
Czy jest to możliwe, a jeśli tak, jak można to zrobić?
Dlaczego nie przekazać delegata jako parametr i podniesienie go w 'foreach' pętli, gdzie trzeba? Czy czegoś brakuje? –
http://msdn.microsoft.com/it-it/library/system.asynccallback.aspx – Saturnix
@SriramSakthivel Nie brakuje niczego, ponieważ nie wiem, co przekazuje delegata jako param i wywołując go w pętla foreach to 8-) Czy możesz napisać to jako odpowiedź? – jskidd3