我正在使用c#创建一个Windows桌面应用程序,我的解决方案有两个项目
第一个是一个项目,它包含登录系统的所有GUI和类(使用SQL db),成功登录后,我的函数返回实际用户的完整数据: / p>
private void Login(string User, string Pass)
{
DataTable Table = new DataTable();
Table = UserConnecction.Log_in(User, Pass);
int Count = Table.Rows.Count;
switch (Count)
{
case 1:
User_info.UserID = Convert.ToInt32(Table.Rows[0][0]);
User_info.UserName = Table.Rows[0][1].ToString();
User_info.Password = Table.Rows[0][2].ToString();
User_info.Email = Table.Rows[0][3].ToString();
User_info.Pack = Convert.ToInt32(Table.Rows[0][4]);
MessageBox.Show("" + User_info.UserID);
Main Main = new Main(User_info.UserName);
Main.ShowDialog();
this.Hide();
break;
case 0:
default:
MessageBox.Show("Incorrect Login ! ");
break;
}
}
我的第二个解决方案包含一些需要ID
的{{1}}的函数,所以我基本上希望在用户登录时将该参数传递给seonce项目< / p>
我已经尝试使用第一个项目作为参考,但似乎你只能使用函数和类而不传递参数,因为它总是会显示0!
谢谢!
答案 0 :(得分:-1)
您的“主要”项目是表单应用程序。您需要通过添加引用引用第二个项目(并单击项目选项卡)并检查所需的项目。
然后在你的第一个项目中,在button_click处理程序或你可以使用的东西:
public void Button_loginHandler()
{
var x = new namespaceSecondProject.Class(constructor info);
}
所以如果我有一个项目(你班上的第二个项目):
namespace TestProject
{
public class User
{
public string Username {get; set;}
public string Password {get; set;}
public datetime LastLoginDate {get;set;}
public void SetLastLogin()
{
LastLoginDate = datetime.now;
}
}
}
在您的第一个项目(您的Windows窗体)中:您可以使用:
var newUser = new TestProject.User{ Username = "me", Password = "you"};
如果你想使用一个函数,那就是
newUser.SetLastLogin();
请注意,这没有任何意义,但希望看到你可以像你想要的那样使用类和函数。