public static IDisposable SynchronizeProxiedUnmanaged(this IObservableObject obj, ConsoleApp app, string propertyName, Action handler) { return(obj.SynchronizeUnmanaged(propertyName, () => { app.QueueAction(handler); })); }
public static void SynchronizeProxiedForLifetime(this IObservableObject obj, ConsoleApp app, string propertyName, Action handler, ILifetimeManager manager) { obj.SynchronizeForLifetime(propertyName, () => { app.QueueAction(handler); }, manager); }
/// <summary> /// Starts a new ConsoleApp and waits for it to finish /// </summary> /// <param name="init">the function that initializes the app</param> public static void Show(Action <ConsoleApp> init) { var app = new ConsoleApp(); app.QueueAction(() => init(app)); app.Start().Wait(); }