using System.Threading.Tasks;
public static void Main()
var cts = new CancellationTokenSource();
var t = Task.Factory.StartNew(() =>
while (!cts.IsCancellationRequested)
Console.WriteLine("ping");
Task.Delay(200, cts.Token).ContinueWith(x =>
, TaskContinuationOptions.OnlyOnCanceled).Wait();
catch (AggregateException ex)
Console.WriteLine(ex.InnerException.GetType());