2012-10-16 65 views
6

我需要打開發送FrmAdmin的信息FrmEscalacao了一個名爲「時間」ERROR「成員名稱不能與它們的封閉類型」

這裏串FrmEscalacao是FrmAdmin

的代碼
public partial class FrmAdmin : Form 
{ 
    private string time; 

    public FrmAdmin(string time) 
    { 
     InitializeComponent(); 

     this.time = time; 
    } 

    public void btnEscalar_Click(object sender, EventArgs e) 
    { 
     this.Hide(); 
     FrmEscalacao f1 = new FrmEscalacao(); 
     f1.ShowDialog(); 
    } 

}

這裏是FrmEscalacao

的代碼
public partial class FrmEscalacao : Form 
{ 
    public string time; 

     private void FrmEscalacao (string time) 
     { 

      InitializeComponent(); 

      this.time = time; 

      SQLiteConnection ocon = new SQLiteConnection(Conexao.stringConexao); 
      DataSet ds = new DataSet(); 
      ocon.Open(); 
      SQLiteDataAdapter da = new SQLiteDataAdapter(); 
      da.SelectCommand = new SQLiteCommand("Here is the SQL command"); 
      DataTable table = new DataTable(); 
      da.Fill(table); 
      BindingSource bs = new BindingSource(); 
      bs.DataSource = table; 
      DataTimes.DataSource = bs; 
      ocon.Close(); 

     } 

而且我t返回一個錯誤

private void FrmEscalacao (string time) 

回答

4

您可以只有構造函數匹配類的名稱。 如果它的構造函數的聲明,那麼它應該是

public FrmEscalacao(string time) {...} 

構造函數不應該有任何的返回類型。如果它將用於創建該類型的實例,則不應聲明它爲private;它應該是public

那麼你應該使用它:

FrmEscalacao f1 = new FrmEscalacao("your time"); 

也就是說,你必須爲stringtime參數指定的值。

+0

如果我使用「public」而不是private void,它會創建另一個錯誤並且不解決「成員名稱不能與它們的封閉類型相同」這是它創建的錯誤:「FrmEscalacao.cs不包含構造函數需要0個參數「 – Gianlucca

+1

@ user1748580從構造函數聲明中刪除'void'並且仍然公開 – horgh

+0

@ user1748580除了使用FrmEscalacao f1 = new FrmEscalacao(」你的時間「);'初始化它。你已經聲明瞭一個具有參數的構造函數,所以使用應該提供參數,或者沒有它的另一個構造函數... – horgh

1

您需要將參數傳遞給構造函數。

因此,無論是添加另一種方法如下:

public FrmEscalacao() 
{ 
    //all your code 
} 

此外,改變你的構造函數,公共無效的,它接受一個參數的構造。

public FrmEscalacao(string time) 
{ 
    //all your code 
} 

構造函數自動不返回任何東西,所以你不需要將它們標記爲void。

相關問題