我需要打开一个FrmEscalacao,它使用称为“时间”的字符串将FrmAdmin的信息发送到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();

        }

它在返回一个错误
private void FrmEscalacao (string time)

最佳答案

您只能具有与类名称匹配的构造函数。
如果是构造函数的声明,则应为

public FrmEscalacao(string time) {...}

构造函数不应具有任何返回类型。而且,如果将其用于创建该类型的实例,则不应将其声明为private;它应该是public

然后,您应该使用它:
FrmEscalacao f1 = new FrmEscalacao("your time");

也就是说,您必须为time类型的string参数指定值。

关于c# - 错误 "member names cannot be the same as their enclosing type",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12906009/

10-10 18:12