public void Start() { if (IsRunning) { return; } IsRunning = true; _dispatchBlock = new DispatchBlock(OnTimerTick); _dispatchQueue.DispatchAfter(new DispatchTime(DispatchTime.Now, Interval), _dispatchBlock); }
/// <summary> /// Disconnects the connection from the remote terminus. /// </summary> public void Disconnect(bool reconnect = false) { lock (locker) { if (connectionState == EConnectionState.Disconnected) { return; } connectionState = EConnectionState.Disconnected; centralDelegate.centralManager.CancelPeripheralConnection(device); OnDisconnect(); if (reconnect) { handler.DispatchAfter(TimeSpan.FromMilliseconds(1500), () => Connect()); } } }
public void ReloadData(TKAutoCompleteTextView autocomplete) { NSMutableArray suggestions = new NSMutableArray(); if (airports == null) { NSUrl url = new NSUrl(urlStr); NSUrlRequest req = new NSUrlRequest(url); NSUrlResponse res; NSData dataVal = new NSData(); NSDictionary jsonResult = new NSDictionary(); NSError error; NSError errorReq; dataVal = NSUrlConnection.SendSynchronousRequest(req, out res, out errorReq); if (dataVal != null) { jsonResult = (NSDictionary)NSJsonSerialization.Deserialize(dataVal, NSJsonReadingOptions.MutableContainers, out error); if (error == null) { airports = (NSArray)jsonResult.ObjectForKey(new NSString("airports")); } for (nuint i = 0; i < airports.Count; i++) { NSDictionary item = airports.GetItem <NSDictionary> (i); NSString name = (NSString)item.ValueForKey(new NSString("FIELD2")); NSString shortName = (NSString)item.ValueForKey(new NSString("FIELD5")); string result = String.Format("{0}, {1}", name.ToString(), shortName.ToString()); if (result.ToUpper().StartsWith(prefix.ToUpper())) { suggestions.Add(new TKAutoCompleteToken(new NSString(result))); } } } DispatchQueue queue = DispatchQueue.MainQueue; queue.DispatchAfter(DispatchTime.Now, delegate { autocomplete.CompleteSuggestionViewPopulation(suggestions); }); } }
bool DispatchDelayedImplementation(TimeSpan delay, Action action) { _dispatchQueue.DispatchAfter(new DispatchTime(DispatchTime.Now, delay), () => action()); return(true); }
public static void DispatchAfter(this DispatchQueue self, TimeSpan delay, Action action) { var time = new DispatchTime(DispatchTime.Now, delay.Ticks * 100); self.DispatchAfter(time, action); }
public static void DispatchAfter(this DispatchQueue queue, TimeSpan delay, Action action) { queue.DispatchAfter(new DispatchTime(DispatchTime.Now, delay), action); }