获取和设置不同配置的不同值

时间:2015-11-22 09:41:39

标签: c# .net enums

让我们说我有一些变量可能因不同用户而异。例如:

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 ....

显然用户数量不应该很多,但我也想将这些值存储在数据库中,但是我无法找到正确的方法从那里读取数据而不用硬编码(它是目前按计划自动运行的控制台应用程序)

1 个答案:

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