2012-08-16 1 views
1

J'ai besoin de lire un fichier binaire. Mais obtenir une erreur. Comment puis-je le faire ? Im essayant d'expliquer quoi d'autre puis-je écrire?Comment utiliser une erreur BinaryReader im getting?

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); 
       } 
      } 
     } 
    } 


} 

Sur cette ligne se im erreur:

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

Erreur 'BinaryReader' est un 'espace de noms', mais est utilisé comme un 'type'

Comment puis-je résoudre ce problème?

Répondre

3

Vous avez une collision de noms avec votre propre espace de noms. Renommer, par exemple, à BinaryReaderTest, ou utiliser le nom complet de System.IO.BinaryReader pour la classe de BinaryReaderSystem.IO:

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

Je viens de voir maintenant que im aussi obtenir une erreur sur la ligne: public partial class Form1: Form1 sur le premier Form1 l'erreur est: Erreur dépendance de classe de base circulaire impliquant 'BinaryReader.Form1' thats après avoir résolu la ligne d'utilisation fait comme dans votre exemple. –

+0

@DanielLip Vous devriez hériter de 'Form', pas' Form1' (cela n'a aucun sens d'hériter de votre propre classe). Vous devez ajouter 'using System.Windows.Forms' en haut, et éventuellement ajouter une référence à l'assembly de formulaires .NET (il est probablement là si vous avez démarré un projet en tant qu'application Windows). – dasblinkenlight

Questions connexes