2010-04-23 66 views
0

我有一個問題在同一個命名空間:在另一個Windows窗體的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 2010-04-23 14:47:40

回答

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類之外。

還是應該通過它的「父」 frmForm1型解決您Account類型:

frmForm1.Account 
5

你嵌套在frmForm1類裏面的帳戶和ListAcc類。

將他們frmForm1的類定義之外或改變它是frmForm1.ListAcc A;

而且,我不知道你想在這裏做什麼。不管你做什麼,這都不會編譯。你想讓ListAcc成爲一個泛型類嗎?

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

類結構的定義,你需要聲明變量這樣

frmForm1.ListAcc A; 
相關問題