System.Action<T>
JavaやSystem.Func<T,U>
.NET などに、標準的な汎用の「コールバック」または「関数/メソッド」型はありますか?
私の具体的なケースでは、型の 1 つの (ジェネリック) パラメーターを取り、T
何も返さない (つまりvoid
) メソッドをラップするクラスが必要です。
はい、自分でそのようなクラス/インターフェイスを作成するのは簡単ですが、標準ライブラリ クラスがある場合はそれを使用したいと思います。
System.Action<T>
JavaやSystem.Func<T,U>
.NET などに、標準的な汎用の「コールバック」または「関数/メソッド」型はありますか?
私の具体的なケースでは、型の 1 つの (ジェネリック) パラメーターを取り、T
何も返さない (つまりvoid
) メソッドをラップするクラスが必要です。
はい、自分でそのようなクラス/インターフェイスを作成するのは簡単ですが、標準ライブラリ クラスがある場合はそれを使用したいと思います。
標準ライブラリにこのようなものがあるとは思いません (執筆時点、2010 年)。Provider<T>
Guiceや GuavaなどFunction<F, T>
、他のライブラリにはそれらがSupplier<T>
ありPredicate<T>
ます。したがって、既にライブラリを使用している場合は、この方向で提供されているものを調べてください。
(編集:前述のように、これらはものを返すインターフェースです-に似ていますが、似ていFunc<T, U>
ませんAction<T>
。)
Java 標準ライブラリには、そのようなクラスはありません。
.NETと基本的に同等の機能を提供するFunctional Javaライブラリを使用できます。fj.F1<T, fj.Unit>
System.Action<T>