にはどうすればいいのStreamWriter型が必要であることを知っていますか?
まあ、StreamWriter
は必要ありませんです。使用することはできますが、は必要ありません。
コンパイルタイプがTextWriter
の変数を宣言すると、TextWriter
という種類の変数を割り当てることができます。例えば、StringWriter
をそこに入れることができます:
TextWriter writer = new StringWriter(new StringBuilder("Hello World!"));
コンパイルには問題ありません。
重要なことは、そこに置く必要があるものではなく、あなたがしたいことです。ストリームに書き込む場合は、StringBuilder
に書き込む場合はStringWriter
に書き込む場合はそこにStreamWriter
を書き込んでください。書き込みする場合は、自分のサブクラスを作成してそこに使用してください。
また、TextWriter
も書く必要はありません。あなたは非常によく、このような何かを行うことができます。
StreamWriter writer = File.CreateText("path");
「私はちょうど私が欲しい、特定のタイプを指定することができた場合、何がTextWriter
の使用です?」あなたは尋ねるかもしれない。
一般的に何かを行うメソッドを記述することもできます。 "Hello World"を書くのと同じですが、このメソッドはどこに書き込むかは気にしません。あなたがStreamWriter
を渡すと
public static void WriteHelloWorld(TextWriter writer) {
writer.Write("Hello World");
}
それがストリームに書き込みます。 StringWriter
を渡すと、文字列などに書き込まれます。
私はあなたの質問を理解していません。 - 「どのようなものを使うべきか」 – Jamiec
'TextWriter'を使用しているだけのことはありますか? –
私も。これらのクラスがすべて 'TextWrter'のインスタンスである限り、メソッドが' StreamQriter'または 'MyClass'を返すかどうかは気になりますか? – HimBromBeere