> 呼ぶ側、呼ばれる側(≒コールバックを返す側)どちらも、今から使う関数の引数を直接的に知っている事が前提になるんじゃない?
その辺は別モジュールなりトップレベル関数なりに宣言すれば良いって言ってた

そこまでするならインターフェース継承したクラス宣言するのと殆ど変わらないと思うんだけどな
それこそ↓で書かれてるような、フィールドに外部から渡されたインターフェース(private IY y)を持つかどうかの1,2行の違いしか無いと感じた
https://mevius.5ch.net/test/read.cgi/tech/1616471904/651

そんで、ここに保持するインターフェースは冗長なのではなくて、
このクラスはこのインターフェースを使用して処理を行うという宣言みたいなものだと思ってる
classXのfooメソッドからしたら呼びだし元を確認することなく最低限の挙動が保障されるし

>>90
表現の違いじゃない?
delegate=ActionとFuncの総称だと思ってるので、自分はこう読んだよ
「どこか別の場所でAction宣言せずに、いきなり匿名関数なりで定義したものをAction<string> callbackみたいに受けるんだろうか。」