请帮助我,如何从课堂上获取第二次初始化数据。 问题是第三步是“登录”和“密码” - >空值 但我在第二步中定义了“登录”和“密码”。你能告诉我为什么第三步的登录和密码为null,我该如何解决?我不会为此创建静态类。
答案 0 :(得分:1)
所以,除非我在这里遗漏了一些东西:
access.ValidateLogin(login.Login, login.Password);
login
对象具有您在获取数据过程中设置的值。
如果您不打算使用相同的对象,并且您希望它们相同,那么我想您必须这样做:
LoginValidation access = new LoginValidation();
access.Login = login.Login;
access.Password = login.Password;
access.ValidateLogin(loginText.Text, passwordText.Text);
但这真的很奇怪。它会起作用,但这根本没有意义。
答案 1 :(得分:1)
详细说明用于学习目的的评论。
Inheritance != Object Reference
提供以下内容:
public class A
{
public String Foo;
}
public class B : A
{
SetFoo(String foo)
{
Foo = foo
}
}
public class C : A
{
UseFoo()
{
PrintLn(Foo);
}
}
当您创建对象B
并设置Foo
时,这不会将Foo
中的C
设置为简单,因为它们都从A
继承。它们是不同的对象,因此对它们自己的Foo
所以,你的代码可以做这样的事情并且是正确的:
public void Main()
{
var validLoginInfo = new LoginInfo(loginText.Text)
var isValid = new LoginValidator(loginText.Text, passwordText.Text, validLoginInfo).Validate();
...
}
然后您可以使用给定的值并与有效的登录信息进行比较。