2012-08-16 60 views
1

我不需要讀取二進制文件。但是會出錯。我該怎麼做 ? 我試圖解釋我還能寫什麼?如何使用BinaryReader即時獲取錯誤?

using System; 
using System.IO; 
using System.Net; 
using System.Text; 

namespace BinaryReader 
{ 
    public partial class Form1 : Form1 
    { 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     public void R() 
     { 
      using (BinaryReader br = new BinaryReader(File.Open("file.bin", FileMode.Open))) 
      { 
       // 2. 
       // Position and length variables. 
       int pos = 0; 
       // 2A. 
       // Use BaseStream. 
       int length = (int)b.BaseStream.Length; 
       while (pos < length) 
       { 
        // 3. 
        // Read integer. 
        int v = b.ReadInt32(); 
        Console.WriteLine(v); 

        // 4. 
        // Advance our position variable. 
        pos += sizeof(int); 
       } 
      } 
     } 
    } 


} 

在此行中即時得到錯誤:

using (BinaryReader br = new BinaryReader(File.Open("file.bin", FileMode.Open))) 

錯誤「BinaryReader在」是「命名空間」,但使用像一個「類型」

我怎樣才能解決這個問題?

回答

3

您與名稱空間有名稱衝突。它重命名,例如,BinaryReaderTest,或爲System.IOBinaryReader類使用System.IO.BinaryReader全名:

using (var br = new System.IO.BinaryReader(File.Open("file.bin", FileMode.Open))) 
+0

我剛纔看到,即時通訊也越來越上線的錯誤:公共部分Form1類:Form1中上第一個Form1的錯誤是:錯誤涉及'BinaryReader.Form1'的循環基類依賴關於我修復使用線之後,在你的例子中。 – 2012-08-16 02:04:44

+0

@DanielLip你應該繼承'Form',而不是'Form1'(從你自己的類繼承是沒有意義的)。您需要在頂部添加'使用System.Windows.Forms',並且可能添加對.NET窗體程序集的引用(如果您將項目作爲Windows應用程序啓動,可能會出現這種情況)。 – dasblinkenlight 2012-08-16 02:08:34

相關問題