использовать класс в другой форме окна C #? - PullRequest
0 голосов
/ 23 апреля 2010

У меня проблема в том же пространстве имен:

public partial class frmForm1 : Form  // Form1
{
    public class Account
    {
        public string Username, Password, RePassword, Name, bd, dt, dc;                    
    }

    public class ListAcc
    {
        public static int count = 0;
        private static List<Account> UserList;
        public static List<Account> Data()
        {
            return UserList;
         }
    }

public partial class frmForm2 : Form  // Form2
{    
    private void button2_Click(object sender, EventArgs e)
    {
        ListAcc A;   // error
        string n = A<Account>[0].Usename; // error
        // What should i do?
    }
}

Кто-то может помочь мне решить эту проблему? Большое спасибо!

Ответы [ 5 ]

5 голосов
/ 23 апреля 2010

Вы вложили класс Account и ListAcc в класс frmForm1.

Переместите их за пределы определения класса frmForm1 или измените его на frmForm1.ListAcc A;

Кроме того, я не уверен, что вы пытаетесь сделать здесь. Это не скомпилируется, независимо от того, что вы делаете. Вы пытаетесь сделать ListAcc универсальным классом?

string n = A<Account>[0].Usename; // error
3 голосов
/ 23 апреля 2010

как определяется структура вашего класса, вам нужно объявить переменную следующим образом:

frmForm1.ListAcc A;
3 голосов
/ 23 апреля 2010

Если вам нужна учетная запись в более чем одном классе, может быть, лучше не помещать ее в frmForm1, а в отдельный файл.Класс внутри другого класса не очень хорошая идея.

2 голосов
/ 23 апреля 2010
public partial class frmForm1 : Form  // Form1
{
     public class Account
     {
         //some code
     }

     public class ListAcc
     {
         //SomeCode
     }
}        

public partial class frmForm2 : Form  // Form2
{        
    private void button2_Click(object sender, EventArgs e)
    {
        //Thats will work
        frmForm1.ListAcc A = new frmForm1.ListAcc();   
        string n = A.Data()[0].Usename;
    }
}
1 голос
/ 23 апреля 2010

Перемещение Account класс за пределы frmForm1 класса.

Или вы должны обратиться к вашему типу Account через его "родительский" тип frmForm1:

frmForm1.Account
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...