从类中定义的字符串数据

时间:2013-12-18 18:26:11

标签: c# string class constructor definition

请帮助我,如何从课堂上获取第二次初始化数据。 问题是第三步是“登录”和“密码” - >空值 但我在第二步中定义了“登录”和“密码”。你能告诉我为什么第三步的登录和密码为null,我该如何解决?我不会为此创建静态类。

2 个答案:

答案 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();
  ...
}

然后您可以使用给定的值并与有效的登录信息进行比较。