为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
噜噜哒 2021-04-29 14:13:27
将值分配给类的实例变量。我有具有以下属性的以下类。它还包含两个静态属性。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。有人可以帮我吗?
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我想您只需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 / LevelHours

level.setValue();


// In AssignDetails function : get the value of LevelWeek and LevelHours:

var levelweek = level.getLevelWeek();

var levelhours = level.getLevelHours();


查看完整回答
反对 回复 2021-05-08
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信