using System; using System.Linq.Expressions; class Foo { public void OnBaz (IBaz baz) { } } interface IBar { void RunOnBaz (Action action); } interface IBaz { } class C : IBar { public void RunOnBaz (Action action) { action (null); } public static int Main () { var foo = new Foo (); Expression> e = bar => bar.RunOnBaz (foo.OnBaz); e.Compile () (new C ()); return 0; } }