// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. namespace System.Data.Entity { using System.Collections; using System.Collections.Generic; public static class IEnumerableExtentions { /// /// Creates a from the . /// /// The type that the elements will be cast to. /// A that contains elements from the input sequence. public static List ToList(this IEnumerable source) { var list = new List(); var enumerator = source.GetEnumerator(); try { while (enumerator.MoveNext()) { list.Add((T)enumerator.Current); } } finally { var asDisposable = enumerator as IDisposable; if (asDisposable != null) { asDisposable.Dispose(); } } return list; } } }