Avatar billede stalle Nybegynder
13. december 2005 - 15:20 Der er 12 kommentarer og
1 løsning

'string' does not contain a definition for 'Var'

Jeg har følgende klasse:

public class VariAbler
    {
        public string Var;
        public string Fil;
    }
Men "sjovt" nok kan jeg ikke bruge ovenstående, da den kommer med fejlen som er beskrevet i emnet.

Det jeg gør, er følgende:

private ArrayList variabelArray = new ArrayList();

VariAbler v = new VariAbler();
v.Var = VarToArray;
v.Fil = file.Name;
variabelArray.Add(v);

Er der nogen der har et bud på hvad jeg kan gøre for at løse det problem ?
Avatar billede arne_v Ekspert
13. december 2005 - 15:48 #1
vi skal se lidt mere kode

der mangler en brik til puslespillet
Avatar billede stalle Nybegynder
13. december 2005 - 16:00 #2
public void choose_folder_Click(object sender, EventArgs e)
{
VariAbler v = new VariAbler();
v.Var = VarToArray;
v.Fil = file.Name;
variabelArray.Add(v);
}

Det ligger lige inde i en for-løkke, som jeg ved virker.
Avatar billede stalle Nybegynder
13. december 2005 - 16:01 #3
altså...
public void choose_folder_Click(object sender, EventArgs e)
{

for (la la la){

VariAbler v = new VariAbler();
v.Var = VarToArray;
v.Fil = file.Name;
variabelArray.Add(v);

}

}
Avatar billede arne_v Ekspert
13. december 2005 - 16:30 #4
der er ikke noget forkert i den kode

vi skal have den kode du compiler - eller bedre den kortest mulige kode som
kan genskabe fejlen
Avatar billede stalle Nybegynder
13. december 2005 - 19:22 #5
Det er også det jeg ikke forstår. Altså, som jeg ser det, skulle koden ikke kunne give bøvl.
Men for lige og ridse op.

Klassen ligger i en fil som hedder variabler.cs.
Klassen ligger i samme namespace, og Visual Studio siger til mig at den godt kan finde definitionen af mine strenge kan findes.


motoman_main.cs:

namespace Test
{
   
    public partial class motoman_main : Form
    {
        public motoman_main()
        {
            InitializeComponent();
        }
       
        private ArrayList variabelArray = new ArrayList();
        private ArrayList filArray = new ArrayList();
        string VarToArray = "";
       
        public void choose_folder_Click(object sender, EventArgs e)
        {
            //listBox1.Sorted = false;
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                label1.Text = folderBrowserDialog1.SelectedPath;
                System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(folderBrowserDialog1.SelectedPath);
                foreach (System.IO.FileInfo file in dir.GetFiles("*.jbi"))
                {
                    string filen = folderBrowserDialog1.SelectedPath+"/"+file.Name;
                    listBox1.Items.Add(file.Name);

                    using (StreamReader sr = new StreamReader(filen))
                    {
                        String line;                               
                        int linienr = 1;
                        while ((line = sr.ReadLine()) != null)
                        {
                            MatchCollection res = Regex.Matches(line, @"\b(B|I|D|R|P|BP|EX)(0|1)\d{2}\b");
                            for (int i = 0; i < res.Count; i++)
                                {
                                    string tempVAR = System.Convert.ToString(res[i].Groups[0]);
                                    tempVAR.Trim();

                                    VariAbler v = new VariAbler();
                                    v.Var = VarToArray;
                                    v.Fil = file.Name;

                                    variabelArray.Add(v);   
                               
                                }
                                linienr++;
                        }
                       
                    }
                }
               
            }
            variabelArray.Sort();
            //filArray.Sort();
            foreach (string variabel in variabelArray)
            {
                richTextBox1.AppendText(variabel.Var + variabel.Fil + "\r\n");
            }
       
           
        }

        private void motoman_main_Load(object sender, EventArgs e)
        {

            label1.Text = "";
        }
    }
}

variabler.cs:

namespace Test
{
    public class VariAbler
    {
        public string Var;
        public string Fil;
    }
}



Sådan ser det ud...
Avatar billede arne_v Ekspert
13. december 2005 - 19:43 #6
foreach (string variabel in variabelArray) // variabel = string
            {
                richTextBox1.AppendText(variabel.Var + variabel.Fil + "\r\n"); // brug af variabel.Var
            }
Avatar billede stalle Nybegynder
13. december 2005 - 19:46 #7
er ikke med ?
Avatar billede arne_v Ekspert
13. december 2005 - 19:51 #8
i de linier siger di at variable er en string og bruger du variable.Var og
det giver den fejl
Avatar billede stalle Nybegynder
13. december 2005 - 19:54 #9
Så er det bare jeg ikke forstår at jeg får at vide at fejlen ligger i linierne:
v.Var = VarToArray;
v.Fil = file.Name;
Avatar billede arne_v Ekspert
13. december 2005 - 20:01 #10
muligvis mener du:

foreach (VariAbler variabel in variabelArray)
            {
                richTextBox1.AppendText(variabel.Var + variabel.Fil + "\r\n");
            }
Avatar billede stalle Nybegynder
13. december 2005 - 20:46 #11
Ahh - takker mange gange

Kom blot med et svar
Avatar billede arne_v Ekspert
13. december 2005 - 20:48 #12
ok
Avatar billede arne_v Ekspert
13. december 2005 - 23:38 #13
jeg tror iøvrigt at

tempVAR.Trim();

skal være

tempvar = tempVAR.Trim();
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester