Exemple #1
0
        async private void PrimesOrderedButton_Click_1(object sender, RoutedEventArgs e)
        {
            var nativeObject = new WinRT_CPP.Class1();

            StringBuilder sb = new StringBuilder();

            sb.Append("Primes found (ordered): ");

            PrimesOrderedResult.Text = sb.ToString();

            // Call the asynchronous method
            var asyncOp = nativeObject.GetPrimesOrdered(2, 100000);

            // Before awaiting, provide a lambda or named method
            // to handle the Progress event that is fired at regular
            // intervals by the asyncOp object. This handler updates
            // the progress bar in the UI.
            asyncOp.Progress = (asyncInfo, progress) =>
            {
                PrimesOrderedProgress.Value = progress;
            };

            // Wait for the operation to complete
            var asyncResult = await asyncOp;

            // Convert the results to strings
            foreach (var result in asyncResult)
            {
                sb.Append(result).Append(" ");
            }

            // Display the results
            PrimesOrderedResult.Text = sb.ToString();
        }