Mercurial > silverbladetech
view MetroWpf/MetroWpf.Framework/TimedDelegates.cs @ 90:d523381be45a
nuge restore added
author | stevenhollidge <stevenhollidge@hotmail.com> |
---|---|
date | Mon, 30 Apr 2012 10:48:49 +0100 |
parents | 060f02cd4591 |
children |
line wrap: on
line source
using System; using System.Diagnostics; namespace MetroWpf.Framework { public class TimedDelegates { public static void ExecuteAction( Action action, out Stopwatch stopwatch) { stopwatch = new Stopwatch(); stopwatch.Start(); action(); stopwatch.Stop(); } public static void ExecuteAction<T>( Action<T> action, T paramIn, out Stopwatch stopwatch) { stopwatch = new Stopwatch(); stopwatch.Start(); action(paramIn); stopwatch.Stop(); } public static T ExecuteFunc<T>( Func<T> func, out Stopwatch stopwatch) { stopwatch = new Stopwatch(); stopwatch.Start(); T result = func(); stopwatch.Stop(); return result; } public static T ExecuteFunc<T>( Func<T, T> func, T paramIn, out Stopwatch stopwatch) { stopwatch = new Stopwatch(); stopwatch.Start(); T result = func(paramIn); stopwatch.Stop(); return result; } } }