Files
Dec2017-Script-Dump/System.Core/System/Linq/OrderedEnumerable.cs
T
2026-06-04 11:42:34 +02:00

44 lines
1.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
namespace System.Linq
{
// Token: 0x02000040 RID: 64
internal abstract class OrderedEnumerable<TElement> : IEnumerable, IEnumerable<TElement>, IOrderedEnumerable<TElement>
{
// Token: 0x0600039B RID: 923 RVA: 0x00010F38 File Offset: 0x0000F138
protected OrderedEnumerable(IEnumerable<TElement> source)
{
this.source = source;
}
// Token: 0x0600039C RID: 924 RVA: 0x00010F48 File Offset: 0x0000F148
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
// Token: 0x0600039D RID: 925 RVA: 0x00010F50 File Offset: 0x0000F150
public IEnumerator<TElement> GetEnumerator()
{
return this.Sort(this.source).GetEnumerator();
}
// Token: 0x0600039E RID: 926
public abstract SortContext<TElement> CreateContext(SortContext<TElement> current);
// Token: 0x0600039F RID: 927
protected abstract IEnumerable<TElement> Sort(IEnumerable<TElement> source);
// Token: 0x060003A0 RID: 928 RVA: 0x00010F64 File Offset: 0x0000F164
public IOrderedEnumerable<TElement> CreateOrderedEnumerable<TKey>(Func<TElement, TKey> selector, IComparer<TKey> comparer, bool descending)
{
return new OrderedSequence<TElement, TKey>(this, this.source, selector, comparer, (!descending) ? SortDirection.Ascending : SortDirection.Descending);
}
// Token: 0x040000EB RID: 235
private IEnumerable<TElement> source;
}
}