a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
33 lines
619 B
C#
33 lines
619 B
C#
// Compiler options: /t:library
|
|
using System;
|
|
using SCG = System.Collections.Generic;
|
|
|
|
namespace C5
|
|
{
|
|
public abstract class EnumerableBase<T> : SCG.IEnumerable<T>
|
|
{
|
|
public abstract SCG.IEnumerator<T> GetEnumerator ();
|
|
|
|
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
|
|
{
|
|
return GetEnumerator();
|
|
}
|
|
}
|
|
|
|
public class ArrayBase<T> : EnumerableBase<T>
|
|
{
|
|
public override SCG.IEnumerator<T> GetEnumerator ()
|
|
{
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
public class ArrayList<T> : ArrayBase<T>
|
|
{
|
|
public override SCG.IEnumerator<T> GetEnumerator ()
|
|
{
|
|
return base.GetEnumerator ();
|
|
}
|
|
}
|
|
}
|