Here. Just when you’d thought you’re learned everything there was to know about foreach in part 1, I’ve got more in part 2! This part (the final : ) discusses implementing support for foreach in your own custom types as well as how to patch holes in the framework where they forgot to add foreach support. Enjoy.