public static bool IsEnumerator(this Type type, out EnumeratorInfo enumeratorInfo) { if (type is null) { throw new ArgumentNullException(nameof(type)); } var isEnumerator = type.IsEnumeratorType(out var current, out var moveNext, out var reset, out var dispose); enumeratorInfo = new EnumeratorInfo(current, moveNext, reset, dispose); return(isEnumerator); }
internal EnumerableInfo(MethodInfo getEnumerator, EnumeratorInfo enumeratorInfo) { GetEnumerator = getEnumerator; EnumeratorInfo = enumeratorInfo; }
public EnumerableInfo(MethodInfo getEnumerator, EnumeratorInfo enumeratorInfo) { GetEnumerator = getEnumerator; EnumeratorInfo = enumeratorInfo; }
public Enumerator(EnumerableWrapper <TEnumerable, TItem> enumerable) { info = enumerable.Info.EnumeratorInfo; instance = enumerable.Info.InvokeGetEnumerator(enumerable.Instance); }