Exemplo n.º 1
0
        /// <summary>
        ///     Creates an <see cref="IEnumerable{T}" /> from an <see cref="IMMEnumObjectClass" />
        /// </summary>
        /// <param name="source">An <see cref="IMMEnumObjectClass" /> to create an <see cref="IEnumerable{T}" /> from.</param>
        /// <returns>An <see cref="IEnumerable{T}" /> that contains the feature classes from the input source.</returns>
        public static IEnumerable <IObjectClass> AsEnumerable(this IMMEnumObjectClass source)
        {
            if (source != null)
            {
                source.Reset();
                IObjectClass oclass = source.Next();
                while (oclass != null)
                {
                    yield return(oclass);

                    oclass = source.Next();
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Returns all of the object classes that have been assigned the <paramref name="modelName" /> in the given
        ///     workspace.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="modelName">Name of the model.</param>
        /// <returns>
        ///     An <see cref="IEnumerable{T}" /> that contains the object classes from the input source.
        /// </returns>
        /// <exception cref="ArgumentNullException">modelName</exception>
        public static IEnumerable <IObjectClass> GetObjectClasses(this IWorkspace source, string modelName)
        {
            if (source == null)
            {
                return(null);
            }
            if (modelName == null)
            {
                throw new ArgumentNullException("modelName");
            }

            IMMEnumObjectClass list = ModelNameManager.Instance.ObjectClassesFromModelNameWS(source, modelName);

            return(list.AsEnumerable());
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Returns all of the object classes that have been assigned the <paramref name="modelNames" /> in the given
        ///     workspace.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="modelNames">The model names.</param>
        /// <returns>
        ///     An <see cref="IEnumerable{T}" /> that contains the object classes from the input source.
        /// </returns>
        /// <exception cref="ArgumentNullException">modelName</exception>
        public static IEnumerable <IObjectClass> GetObjectClasses(this IWorkspace source, params string[] modelNames)
        {
            if (modelNames == null)
            {
                throw new ArgumentNullException("modelNames");
            }

            foreach (var modelName in modelNames)
            {
                IMMEnumObjectClass list = ModelNameManager.Instance.ObjectClassesFromModelNameWS(source, modelName);
                foreach (var o in list.AsEnumerable())
                {
                    yield return(o);
                }
            }
        }