Пример #1
0
        public static IEnumerable <T> EnumerateObjects <T>(IEnumVdsObject enumobject) where T : class
        {
            uint count;

            do
            {
                enumobject.Next(1, out IUnknown unknown, out count);
                if (count > 0)
                {
                    T o;
                    try
                    {
                        o = (T)unknown;
                    }
                    catch
                    {
                        throw new InvalidCastException("不支持的类型");
                    }
                    yield return(o);
                }
            } while (count > 0);
            enumobject.Reset();
        }