public void Call <T>(MyInterface <T> thingDoer) { T something = thingDoer.GetSomething(); thingDoer.DoSomething(something); thingDoer.DoSomething(something); }