public delegate bool ConditionDelegate();
public static void Main()
MyClass o = new MyClass();
ConditionDelegate dele = () => o.Func();
System.Func<bool> func = o.Func;
System.Action action = o.Action;
var sw = System.Diagnostics.Stopwatch.StartNew();
for(int i = 0; i < 100; i++)
Console.WriteLine("norm " + sw.Elapsed.TotalMilliseconds);
for(int i = 0; i < 100; i++)
Console.WriteLine("dele " + sw.Elapsed.TotalMilliseconds);
for(int i = 0; i < 100; i++)
Console.WriteLine("func " + sw.Elapsed.TotalMilliseconds);
for(int i = 0; i < 100; i++)
Console.WriteLine("acti " + sw.Elapsed.TotalMilliseconds);