2012-10-16 7 views
6

Ho bisogno di aprire un FrmEscalacao che invia informazioni di FrmAdmin ad FrmEscalacao con una stringa chiamata "tempo"ERRORE "nomi dei membri non può essere lo stesso come il loro tipo contenitore"

ecco il codice di 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(); 
    } 

}

ecco il codice di 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(); 

     } 

E io t restituisce un errore a

private void FrmEscalacao (string time) 

risposta

4

È possibile avere solo il costruttore che corrisponde al nome della classe. Se è la dichiarazione del costruttore, allora dovrebbe essere

public FrmEscalacao(string time) {...} 

Costruttori non dovrebbe avere alcun tipo di ritorno. E non dovresti dichiararlo private, se verrà usato per creare un instanse di quel tipo; dovrebbe essere public.

Poi si dovrebbe usare:

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

che è, è necessario specificare il valore per time argomento di tipo string.

+0

Se uso "pubblico" invece di vuoto privato, crea un altro errore e non risolve il problema "I nomi dei membri non possono essere uguali al loro tipo di chiusura" questo è l'errore che crea: "FrmEscalacao.cs non contiene un costruttore che accetta 0 argomenti " – Gianlucca

+1

@ user1748580 rimuove' void' dalla dichiarazione del costruttore e lo rende ancora pubblico – horgh

+0

@ user1748580 Oltre a usare 'FrmEscalacao f1 = new FrmEscalacao (" your time ");' per inizializzarlo. Hai dichiarato un costruttore con un argomento, quindi l'uso dovrebbe fornire l'argomento o un altro costruttore senza di esso ... – horgh

1

È necessario passare un argomento al costruttore.

Quindi, o aggiungere un altro metodo come segue:

public FrmEscalacao() 
{ 
    //all your code 
} 

Inoltre, modificare il costruttore per public void sul costruttore che accetta un argomento.

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

Costruttori automaticamente non restituiscono nulla, quindi non c'è bisogno di segnare loro vuoto.

Problemi correlati