foreach
döngüsü, List<>
öğesinin her bir öğesiyle aramayı bitirdiğinde bir geri arama başlatmam gerekiyor.Anlaşmazlıktan sonra yangın geri arama Görev yöntemi
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());
}
}
}
}
}
Bu mümkün mü ve eğer öyleyse nasıl yapılabilir?
Neden parametre olarak bir temsilci geçirmek ve gereken yere foreach' döngü 'bunu çağırmak değil? Bir şey mi eksik? –
http://msdn.microsoft.com/it-it/library/system.asynccallback.aspx – Saturnix
@SriramSakthivel Hiçbir şey kaçırmıyorsunuz, çünkü bir delegeyi bir geçit olarak geçirmenin ne olduğunu bilmiyorum. foreach loop 8-) Bunu bir cevap olarak gönderir misiniz? – jskidd3