C# 如何从另一个窗体c访问对象
所以我有一个名为Employee的类,它存储员工的用户名和密码C# 如何从另一个窗体c访问对象,c#,C#,所以我有一个名为Employee的类,它存储员工的用户名和密码 class Employee { string username; string password; public string Username { get { return username; } set { username = value; } } public string Password { get { ret
class Employee
{
string username;
string password;
public string Username
{
get { return username; }
set { username = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
public Employee(string username, string password)
{
this.username = username;
this.password = password;
}
do
{
Console.Write("Username: ");
username = Console.ReadLine();
Console.Write("Password: ");
password = Console.ReadLine();
if (employee1.Username != username || employee1.Password != password)
{
Console.WriteLine("Incorrect Username or Password. Please Try again \n");
}
}
while (employee1.Username != username || employee1.Password != password);
Console.Clear();
Console.Write("Login Sucessful!. Press any key to continue...");
Console.ReadKey();
在我的主类中,我使用一些示例数据创建了Employee的实例
Employee employee1 = new Employee("John", "123");
我在main方法中包含了这段代码,以根据用户的用户名和密码对用户进行身份验证
class Employee
{
string username;
string password;
public string Username
{
get { return username; }
set { username = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
public Employee(string username, string password)
{
this.username = username;
this.password = password;
}
do
{
Console.Write("Username: ");
username = Console.ReadLine();
Console.Write("Password: ");
password = Console.ReadLine();
if (employee1.Username != username || employee1.Password != password)
{
Console.WriteLine("Incorrect Username or Password. Please Try again \n");
}
}
while (employee1.Username != username || employee1.Password != password);
Console.Clear();
Console.Write("Login Sucessful!. Press any key to continue...");
Console.ReadKey();
我不想将这段代码放在我的主类中,而是想将这段代码传输到Employee.cs中,它充当一个方法,并且可以从主类调用。我的问题是,如何从主类访问对象,并获取初始化的用户名和密码,以便在Employee.cs上应用相同的概念。您的意思是:
class Employee
{
// Existing code above this
public bool Authenticate()
{
var authed = false;
do
{
Console.Write("Username: ");
var attemptUsername = Console.ReadLine();
Console.Write("Password: ");
var attemptPassword = Console.ReadLine();
if (username != attemptUsername || password != attemptPassword)
{
Console.WriteLine("Incorrect Username or Password. Please Try again \n");
}
else
{
authed = true;
}
}
while (!authed);
Console.Clear();
Console.Write("Login Sucessful!. Press any key to continue...");
Console.ReadKey();
return authed;
}
}
然后你可以去:
var john = new Employee("John", 123);
john.Authenticate(); // Waits until he enters valid password (Might want to add a max attempts to the Authenticate function and actually use the return value
注意:根据您使用的框架等,通常最好将您的员工/退伍军人类保留为POCO类,并使用服务添加基于它们的逻辑。这是您想要的吗
class Mainclass
{
Main()
{
Employee employee1 = new Employee("John", "123");
employee1.yourMethod();
}
}
public class Employee
{
string username;
string password;
.
.
.
public void yourMethod()
{
do
{
Console.Write("Username: ");
username = Console.ReadLine();
Console.Write("Password: ");
password = Console.ReadLine();
if (veterinarian1.Username != username || veterinarian1.Password != password)
{
Console.WriteLine("Incorrect Username or Password. Please Try again \n");
}
}
while (veterinarian1.Username != username || veterinarian1.Password != password);
Console.Clear();
Console.Write("Login Sucessful!. Press any key to continue...");
Console.ReadKey();
}
}
对但是我无法通过Employee.cs中的该方法访问employee1。好的,在员工声明“public class Employee”之前添加public不,我仍然可以从Employee类访问employee1对象:/n您想从Employee类访问Main类中的employee1对象吗?是的,这样我就可以获得我在主类中的实例