让我们说我有一些变量可能因不同用户而异。例如:
User1: name = "John"
surName = "Smith"
nickname = "veryInterestingNickName"
我现在做了什么,我已经创建了课程:
public class Users {
public Users (string nickname) {
if (nickname == "veryInterestingNickName" )
{
Name = "John",
SurName = "Smith",
NickName = "veryInterestingNickName",
Email = new MailAddress("johnsmith@gmail.com", "John Smith"),
}
}
public String Name {set;get;}
public String SurName {set;get;}
public String NickName {set;get;}
public MailAddress Email {set;get}
}
它按预期工作,但我不喜欢硬编码新用户的想法(" veryInterestingNickName");
我正在尝试为JohnSmithEnum创建枚举,但它不允许我设置Email = new MailAddress ....
显然用户数量不应该很多,但我也想将这些值存储在数据库中,但是我无法找到正确的方法从那里读取数据而不用硬编码(它是目前按计划自动运行的控制台应用程序)
答案 0 :(得分:1)
我很困惑你想要将任何值硬编码到类中。我真的不建议这样做。
您正在将一个方法放入构造函数中。我已经扩展了你的方法的想法,传递两个字符串来比较它们。如果他们比较那么你可以改变其他属性的值,或做你想做的任何事情。
public class Users {
public Users(){}
public void CheckUserNickNames (string nickname, string comparer) {
if (nickname.ComparesTo(comparer)==0)
{
// To do..
Name = //,
SurName = //,
NickName = //,
Email = //,
}
}
public String Name {set;get;}
public String SurName {set;get;}
public String NickName {set;get;}
public MailAddress Email {set;get}
}
我也认为你很困惑:
Users user = new Users {Name = "John", SurName ="Smith", etc};