From 74614184d6c507f23e033b3191dbd87989457540 Mon Sep 17 00:00:00 2001 From: Tyler Perkins Date: Tue, 22 Feb 2022 15:45:01 -0500 Subject: [PATCH] Update for 22-02-22 15:45 --- tech/interface.wiki | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tech/interface.wiki b/tech/interface.wiki index 3167fe8..590d343 100644 --- a/tech/interface.wiki +++ b/tech/interface.wiki @@ -35,3 +35,39 @@ Something that is IEnumerable can be used with an enumerator object. This allows some object to work with LINQ queries. IEnumerable also requires `IEnumerator` to be defined. `IEnumerator` also needs [[#System.IDisposable]] to be implimented. + +{{{ +public class FooEnumerable : IEnumerable +{ + private string _data; + //must impliment + public IEnumerator GetEnumerator() + { + return new FooEnumerator(_data); + } + + //must impliment + private IEnumerator GetEnumerator1() + { + return this.GetEnumerator(); + } + //now override the IEnumerator one + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator1(); + } +} + +public class FooEnumerator : IEnumerator +{ + //required + public string Current + { + get + { + return "some val"; + } + } + +} + }}}