/// <summary> /// Initializes a new instance of <see cref="TextReaderWriterConsole" /> class. /// </summary> /// <param name="reader">The reader to use.</param> /// <param name="writerProvider">The logic to provides the <see cref="TextWriter" /> for write operations.</param> /// <param name="writerUsedCallback"> /// The optional logic that is invoked AFTER provided <see cref="TextWriter" /> has been used. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="reader" /> and/or <paramref name="writerProvider" /> are <see langword="null" />. /// </exception> public TextReaderWriterConsole(TextReader reader, TextWriterProvider writerProvider, TextWriterUsedCallback writerUsedCallback) : this(reader, writerProvider, writerUsedCallback, (ClearCallback)null) { }
/// <summary> /// Initializes a new instance of <see cref="TextReaderWriterConsole" /> class. /// </summary> /// <param name="reader">The reader to use.</param> /// <param name="writerProvider">The logic to provides the <see cref="TextWriter" /> for write operations.</param> /// <param name="writerUsedCallback"> /// The optional logic that is invoked AFTER provided <see cref="TextWriter" /> has been used. /// </param> /// <param name="clearCallback">The optional logic for <see cref="TextReaderWriterConsole.OnClear()" /> method.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="reader" /> and/or <paramref name="writerProvider" /> are <see langword="null" />. /// </exception> public TextReaderWriterConsole(TextReader reader, TextWriterProvider writerProvider, TextWriterUsedCallback writerUsedCallback, ClearCallback clearCallback) : this(ToProvider(reader), (TextReaderUsedCallback)null, writerProvider, writerUsedCallback, clearCallback) { }
/// <summary> /// Initializes a new instance of <see cref="TextReaderWriterConsole" /> class. /// </summary> /// <param name="readerProvider">The logic to provides the <see cref="TextReader" /> for read operations.</param> /// <param name="readerUsedCallback"> /// The optional logic that is invoked AFTER provided <see cref="TextReader" /> has been used. /// </param> /// <param name="writerProvider">The logic to provides the <see cref="TextWriter" /> for write operations.</param> /// <param name="writerUsedCallback"> /// The optional logic that is invoked AFTER provided <see cref="TextWriter" /> has been used. /// </param> /// <param name="clearCallback">The optional logic for <see cref="TextReaderWriterConsole.OnClear()" /> method.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="readerProvider" /> and/or <paramref name="writerProvider" /> are <see langword="null" />. /// </exception> public TextReaderWriterConsole(TextReaderProvider readerProvider, TextReaderUsedCallback readerUsedCallback, TextWriterProvider writerProvider, TextWriterUsedCallback writerUsedCallback, ClearCallback clearCallback) { if (readerProvider == null) { throw new ArgumentNullException("readerProvider"); } if (writerProvider == null) { throw new ArgumentNullException("writerProvider"); } this._READER_PROVIDER = readerProvider; this._READER_USED_CALLBACK = readerUsedCallback; this._WRITER_PROVIDER = writerProvider; this._WRITER_USED_CALLBACK = writerUsedCallback; this._CLEAR_CALLBACK = clearCallback; }