- - PR -
C# TextReaderの継承について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-01 21:31
はじめて投稿させていただきます。
例えば StreamReader クラスなのですが、どのようにして ReadBlock メソッドを実装しているのでしょうか。 質問の趣旨は、 public int ReadBlock ( [InAttribute] [OutAttribute] char[] buffer, int index, int count ) で渡される buffer を、ref を使わずにどうやって内容を 書き換えているのか、です。 TextReader を継承するクラスを実装しており、方向属性を 気にしてソースに InAttribute、OutAttributeを付けてみたのですが、 引数のbufferを書き換えることができません。 この辺にお詳しい方、どうぞご教示願います。 | ||||
|
投稿日時: 2006-08-01 21:55
んん?
普通に書き込めばいいだけのはずですが?
ちなみに、In/Out は .NET で動かす分には基本的に関係ないです。 | ||||
|
投稿日時: 2006-08-01 21:59
| ||||
|
投稿日時: 2006-08-01 23:04
Hongliangさん、Jittaありがとうございます。
Hongliangさんの書かれたコードからヒントを得て、配列の各要素を 一つひとつ代入することで解決できました。 以下、解説です。
はじめは上記のようにbufferに直接代入しており、メソッド内では コンソールに問題なく出力できていたため、問題に気付けませんでした。 ありがとうございます。 |
1