static void Main(string[] args) { IEnumerable <IRange <int> > enumRange1 = new IRange <int> [0]; IEnumerable <IRange <int, float> > enumRange2 = new IRange <int, float> [0]; IEnumerable <IRange <int, float, string> > enumRange3 = new TestRange <int, float, string>[] { new TestRange <int, float, string> { Begin = 10, End = 20, Data = 3.0F, MoreData = "Hello" }, new TestRange <int, float, string> { Begin = 5, End = 30, Data = 3.0F, MoreData = "There!" } }; enumRange1.RangeExtensions().Slice(); enumRange2.RangeExtensions().Slice(); enumRange3.RangeExtensions().Slice(); }