public override SQLiteErrorCode Column(SQLiteVirtualTableCursor cursor, SQLiteContext context, int index) { this.CheckDisposed(); SQLiteVirtualTableCursorEnumerator <T> sQLiteVirtualTableCursorEnumerator = cursor as SQLiteVirtualTableCursorEnumerator <T>; if (sQLiteVirtualTableCursorEnumerator == null) { return(this.CursorTypeMismatchError(cursor, typeof(SQLiteVirtualTableCursorEnumerator))); } if (sQLiteVirtualTableCursorEnumerator.EndOfEnumerator) { return(this.CursorEndOfEnumeratorError(cursor)); } T current = ((IEnumerator <T>)sQLiteVirtualTableCursorEnumerator).Current; if (current == null) { context.SetNull(); } else { context.SetString(this.GetStringFromObject(cursor, current)); } return(SQLiteErrorCode.Ok); }
public override SQLiteErrorCode Open(SQLiteVirtualTable table, ref SQLiteVirtualTableCursor cursor) { this.CheckDisposed(); cursor = new SQLiteVirtualTableCursorEnumerator <T>(table, this.enumerable.GetEnumerator()); return(SQLiteErrorCode.Ok); }