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