>>612
ただ使う分には両者特に違いはない。

StreamReaderはTextReaderから派生しているので、
前者のようにStreamReaderのオブジェクトをTextReaderとして扱うことができる。

TextReaderから派生したクラスはほかにもあるので、
関数の仮引数には、TextReaderにするほうが、関数の使える幅が広がって嬉しいことがあるかもしれない。