link中如何获得迭代对象依赖的那个集合对象?用发射能做到么?

link中如何获得迭代对象依赖的那个集合对象?用发射能做到么?

 自己写一个扩展方法:
static class MyLinq
{
    public static void MyForeach<T>(this IEnumerable<T> data, Action<IEnumerable<T>, T> action)
        {
            foreach (T item in data) action(data, item);
        }
}
调用
data.Myforeach((col, item) => { /* col就是集合 */ });

啥意思?依赖的集合对象不就是你调linq的那个集合吗?