FORM 1
public partial class Login : Form
{
string cons =ConfigurationManager.ConnectionStrings["SSBarConnection"].ConnectionString;
public Login()
{
InitializeComponent();
}
public class passData
{
public string UserRole = "";
}
private void btn_login_Click(object sender, EventArgs e)
{
try
{
if (output == "1" && output2 != "")
{
passData s = new passData();
s.UserRole = output2.ToString();
Main FRFM1 = new Main();
FRFM1.Show();
}
}
FORM 2
namespace SSBar
{
public partial class Main : Form
{
SSBar.Login.passData s;
public string sa;
public Main(Login.passData s1)
{
InitializeComponent();
s = s1;
}
private void Main_Load(object sender, EventArgs e)
{
sa=s.UserRole;
ss_user.Text = s.UserRole;
}
}
答案 0 :(得分:0)
class SomeClass
{
}
class SomeClass
{
public SomeClass()
{
//we will leave this empty
}
}
这两个类是相同的类。在第一种情况下,我们没有任何构造函数,在第二种情况下,我们有构造函数,但它不需要任何参数。
如果我们这样做:
class SomeClass
{
public SomeClass(string GiveMeArgument)
{
}
}
class SomeClass
{
public SomeClass()
{
//we will leave this empty
}
public SomeClass(string GiveMeArgument)
{
}
}
这两个类不相同。现在,您问自己“为什么不做,只有做的一件事情是添加了另一个可用于创建对象的构造函数,但我们对两个类都做过”,答案是我们确实添加了相同的构造函数,但这是一条黄金法则:`If class没有ANY构造函数,它的行为就像它具有空的构造函数(就像我的第一个代码一样),但是如果类至少具有一个构造函数,则它的默认行为将不再有效。”因此,如果我们看一下第二个示例,当我们添加了需要参数的构造函数时,我们就放弃了默认类的行为,即该类的默认行为是不带参数。
您在Main
类中有相同的交易。要解决该问题,只需添加构造函数,该构造函数除了已创建的构造函数外不带任何参数。