Articles of c # 5.0

Meilleur moyen de convertir la méthode asynchrone basée sur le rappel en tâche attendue

Quelle serait la meilleure façon de convertir / encapsuler une méthode asynchrone “classique” qui utilise un rappel vers quelque chose qui renvoie une tâche (attendue)? Par exemple, avec la méthode suivante: public void GetSsortingngFromUrl(ssortingng url, Action onCompleted); La seule façon dont je sais envelopper une méthode renvoyant une tâche est la suivante: public Task GetSsortingngFromUrl(ssortingng […]

En quoi la fonctionnalité asynchrone C # 5.0 diffère-t-elle de la TPL?

Je ne vois pas la différence entre les nouvelles fonctionnalités asynchrones de C # (et de VB) et la bibliothèque parallèle de tâches de .NET 4.0. Prenez, par exemple, le code d’ Eric Lippert d’ici : async void ArchiveDocuments(List urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var […]

Que puis-je faire en C # 5 avec .Net 4.5 que je ne pouvais pas faire en C # 4 avec .Net 4?

J’ai Visual Studio 2012 RC installé sur Windows 8 Release Preview et ma question est la suivante: existe-t-il de nouvelles fonctionnalités utiles non liées à Metro ou Metro qui sépare .Net 4 et .Net 4.5?

Pourquoi les tests unitaires «async void» ne peuvent-ils pas être reconnus?

async void tests d’unité async void ne peuvent pas être exécutés dans Visual Studio 2012: [TestClass] public class MyTestClass { [TestMethod] public async void InvisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } } Si je veux avoir un test unitaire asynchrone, la méthode de test doit renvoyer une tâche: [TestMethod] public async Task VisibleMyTestMethod() { await Task.Delay(1000); […]

Est-il possible d’attendre un rendement de rendement DoSomethingAsync ()?

Les blocs d’iterators réguliers (“return return”) sont-ils incompatibles avec “async” et “wait”? Cela donne une bonne idée de ce que j’essaie de faire: async Task<IEnumerable> Method(Ssortingng [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlSsortingngs.SelectMany(link => //i have an Urlssortingng […]

Un exemple asynchrone / en attente qui provoque un blocage

Je suis tombé sur quelques bonnes pratiques pour la programmation asynchrone en utilisant les mots clés asynchrones / d’attente de c # (je ne suis pas familier avec la version 5.0). L’un des conseils donnés était le suivant: Stabilité: Connaissez vos contextes de synchronisation … Certains contextes de synchronisation sont non réentrants et mono-thread. Cela […]

Comment Task devient-il un int?

Nous avons cette méthode. async Task AccessTheWebAsync() { HttpClient client = new HttpClient(); Task getSsortingngTask = client.GetSsortingngAsync(“http://msdn.microsoft.com”); // You can do work here that doesn’t rely on the ssortingng from GetSsortingngAsync. DoIndependentWork(); ssortingng urlContents = await getSsortingngTask; //The thing is that this returns an int to a method that has a return type of Task […]

Comment implémentez-vous une méthode de délégué d’action asynchrone?

Un peu d’information de fond. J’apprends la stack d’API Web et j’essaie d’encapsuler toutes les données sous la forme d’un object “Résultat” avec des parameters tels que Success et ErrorCodes. Différentes méthodes produiraient cependant des résultats et des codes d’erreur différents, mais l’object résultat serait généralement instancié de la même manière. Pour gagner du temps […]

Attendez dans le bloc de capture

J’ai le code suivant: WebClient wc = new WebClient(); ssortingng result; try { result = await wc.DownloadSsortingngTaskAsync( new Uri( “http://badurl” ) ); } catch { result = await wc.DownloadSsortingngTaskAsync( new Uri( “http://fallbackurl” ) ); } Fondamentalement, je veux télécharger depuis une URL et quand elle échoue avec une exception que je veux télécharger depuis une […]

Quelle est la nouvelle fonctionnalité C # wait?

Quelqu’un peut-il expliquer ce que la fonction d’ await fait?