/// <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(); } } }
/// <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()); }
/// <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); } } }