Func<T, TResult>
汎用デリゲートを使用できます。(MSDNを参照)
Func<MyType, ReturnType> func = (db) => { return new MyType(); }
また、戻り値を考慮する便利なジェネリックデリゲートもあります。
Converter<TInput, TOutput>
(MSDN)
Predicate<TInput>
-常にブール値を返す(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());