在C#中的对象初始化内为实例变量分配值

将值分配给类的实例变量。


我有具有以下属性的以下类。它还包含两个静态属性。


public class Levels

{

    public static string LevelWeek { get; private set; }

    public static string LevelHours {get; private set; }

    public int Start { get; set; }

    public int Length { get; set; }

    public string Name { get; set; }

    public string Address { get; set; }

    public string LevelType { get; set; }


}

我正在为方法中的属性分配值,如下所示:


        Levels level = new Levels

        {

            Start = Convert.ToInt32(Request["start"]),

            Length = Convert.ToInt32(Request["length"]),

            Name = Request[("columns[3][search][value]")],

            Address = Request[("columns[4][search][value]")],

            LevelType = Request[("columns[6][search][value]")]


   // I want to achieve this inside the object initialisation


    if (string.IsNullOrEmpty(LevelType) {

             LevelWeek = "Not set";

             LevelHours = "Not set";

    } 

    else {


             if (LevelType.Equals("Junior") {

                 LevelWeek = LevelType; 

             } else 

             {

                 LevelHours = "Senior";

              }     


     }

    };

然后,我将对象传递level给这样的方法。


AssignDetails(level);

我之所以使用LevelWeek并且LevelHours是静态的,是因为即使该方法在第二次命中时未满足条件,我也希望保留每个变量的变量。


请注意,我将访问的变量LevelWeek,并LevelHours在方法AssignDetails。有人可以帮我吗?


噜噜哒
浏览 120回答 1
1回答

函数式编程

我想您只需setValue2getValue种方法即可:public class Levels {    private string LevelWeek {        get;        set;    }    private string LevelHours {        get;        set;    }    public int Start {        get;        set;    }    public int Length {        get;        set;    }    public string Name {        get;        set;    }    public string Address {        get;        set;    }    public string LevelType {        get;        set;    }    public void setValue() {        if (string.IsNullOrEmpty(LevelType) {            this.LevelWeek = "Not set";            this.LevelHours = "Not set";        } else {            if (LevelType.Equals("Junior") {                this.LevelWeek = LevelType;            } else {                this.LevelHours = "Senior";            }        }    }    public string getLevelWeek() {        return this.LevelWeek;    }    public string getLevelHours() {        return this.LevelHours;    }}}}声明对象时:var level = new Levels {    Start = Convert.ToInt32(Request["start"]),    Length = Convert.ToInt32(Request["length"]),    Name = Request[("columns[3][search][value]")],    Address = Request[("columns[4][search][value]")],    LevelType = Request[("columns[6][search][value]")]}// set value to LevelWeek / LevelHourslevel.setValue();// In AssignDetails function : get the value of LevelWeek and LevelHours:var levelweek = level.getLevelWeek();var levelhours = level.getLevelHours();
打开App,查看更多内容
随时随地看视频慕课网APP