2010-04-23 3 views
0

У меня есть проблема в том же пространстве имен:использовать класс в другой форме окна C#?

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? 
    } 
} 

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

+0

это поможет, если вы сообщите нам, что именно эта проблема. – BlackICE

ответ

2
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; 
    } 
} 
3

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

1

Переместить Account класс за пределами frmForm1 класс.

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

frmForm1.Account 
5

Вы вложенный Счет и класс ListAcc внутри класса frmForm1.

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

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

string n = A<Account>[0].Usename; // error 
3

путь определяется ваша структура класса вы должны объявить переменную как этот

frmForm1.ListAcc A; 
Смежные вопросы