public void watch() { GPIO.Value val = Gpio.ReadValue(); while (val != OldValue) { val = Gpio.ReadValue(); if (Delegate != null) { Delegate.DynamicInvoke(); } Thread.Sleep(10); } }