.NETのyieldはあれはIEnumerableを返すためにしか使えませんが、Rubyのyieldっぽいのをやろうと思うとこうなります。
void YieldAction(Action action)
{
action();
}
キーワードが同じだけにどちらかをがっつり触ってからもう片方を触ると混乱しますね。とくにC#→Rubyは混乱しました。yield return って書いちゃいますし。当然うまく動きませんでしたね。実際、C#のyieldとごっちゃになったおかげで、Rubyのyieldをそこそこ使えるようになるまで結構時間がかかりました。