> > Haven't used yield myself yet so YMMV. However, as you might see > below, you don't really need this function unless you want to provide > an external iterator because it doesn't do what you want in C#. > Thanks for all the info, Justin. I'll try to digest it. I want to provide an external iterator as many classes will be using this from a DLL. The internals of this calls are to be hidden. The purpose of "each" is to provide the looping functionality while hiding the details. The example I had given (in Ruby) demonstrated that I was using the "each" internally, as well as using it externally. I would think the delegate would work because the signature should not change. The framework is always the same, "instruction = ??.each(parm)", returning the instruction that matches the parm or nil. Again, thanks for the info. And if others have suggestions, I would appreciate it. Once I have that feeling of, "Ah Haa...now I got it", then I will be good to go in the future. dvn