2010-07-19 3 views
1

Je souhaite utiliser la TÂCHE pour exécuter des activités parallèles.Cette tâche renvoie une valeur.Comment utiliser un FUNC dans la tâche pour renvoyer une valeur? Func.C# Parallèle Méthodes de tâche qui retournent la valeur en utilisant Func <>

Task<Row> source = new Task<Row>(Func<Row> Check =() => 
{ 
    var sFields = (
     from c in XFactory.Slot("IdentifierA") 
     where c["SlotID"] == "A100" 
     select new 
     { 
      Field = c["Test"] 
     }); 
}); 

je changer mon code pour

Task source = Task.Factory.StartNew(() => 
      { 
       return 
       (from c in XFactory.Slot("IdentifierA") 
        where c["SlotID"] == "A100" 
        select new 
      { 
       Field = c["Test"] 
      }); 
      } 
      ); 

Répondre

3

Votre modèle de base ressemblerait à ceci:

Task<Row> source = Task.Factory.StartNew<Row>(() => ...; return someRow; ); 
Row row = source.Result; // sync and exception handling 
Questions connexes