宣言の書き方


たま  2008-02-26 14:48:11  No: 139079  IP: 192.*.*.*

VBからVB.netへ移行中なのですが、
本当に、初歩的な質問ですみません。

あるサンプルプログラムから抽出したのですが、


FileName = g_DefPath & "\項目1.def"
Dim Reader As New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))

'通常文字の属性読み
        g_strkoumoku1 = Reader.ReadLine
        Reader.Close()

FileName = g_DefPath & "\項目2.def"
Dim Reader As New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))


reader変数をNewでインスタンスを作成していると思うのですが、
項目1でreaderを使うと、readerって変数で項目2を読めません。

どういうコードなら、同じ変数名で、
ファイルを読みこむ事が出来るのでしょうか?

編集 削除
魔界の仮面弁士  2008-02-26 14:54:47  No: 139080  IP: 192.*.*.*

そもそも、
  Dim X As New ClassName(引数)
というコードは、
  Dim X As ClassName = New ClassName(引数)
の省略表記にあたります。

それをさらに分解すれば、
  Dim X As ClassName
  X = New ClassName(引数)
とも書けます。


すなわち今回の場合、2 回目の Reader は、Dim で「宣言」するのではなく、
  Reader = New IO.StreamReader(FileName,System.Text.Encoding.GetEncoding("Shift-JIS"))
のような記述になるでしょう。

編集 削除