Ви можете використовувати Func<T, TResult>
загальний делегат. (Див. MSDN )
Func<MyType, ReturnType> func = (db) => { return new MyType(); }
Також є корисні загальні делегати, які вважають повернене значення:
Converter<TInput, TOutput>
( MSDN )
Predicate<TInput>
- завжди повертати bool ( MSDN )
Метод:
public MyType SimpleUsing.DoUsing<MyType>(Func<TInput, MyType> myTypeFactory)
Загальний делегат:
Func<InputArgumentType, MyType> createInstance = db => return new MyType();
Виконати:
MyType myTypeInstance = SimpleUsing.DoUsing(
createInstance(new InputArgumentType()));
АБО явно:
MyType myTypeInstance = SimpleUsing.DoUsing(db => return new MyType());