C#中方法,属性与索引器

C#中方法,属性与索引器:

TODO:

1,关于系统中常常出现的通过某一字段,查询相应实体信息(可能是一条字段或一条数据和一组泛型集合)

解说篇:1,方法,2,属性3。索引器

1。方法(1。依据状态编码返回状态名称:一条字段2。依据状态返回一条数据:实体)

1,依据状态编码返回状态名称:一条字段
/// <summary>
        /// 依据状态返回状态名称
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public string GetZZZTName(string value)
        {
            string sName = string.Empty;
            DataTypeDict dicC = new DataTypeDict();
            sName = dicC.ReturnDicNameByCode(value);
            return sName;
        }
2,依据状态返回一条数据:实体
/// <summary>
        /// 获取接诊信息
        /// </summary>
        /// <param name="model">双向转诊</param>
        protected Model.PatientReferral GetAdmissionsModel(Model.PatientReferral model)
        {
            model.iZZZT = 50;//标识【iZZZT】【50:已转诊】
            //取得人力资源数据,找到科室信息
            res_HumanResources tmp = ires_HumanResourcesBLL.GetModelByCondition(p => p.gUserID == GetSessionCurrentUserInfo.gUserID);
            if (tmp != null)
            {
                model.sJZKSBM = tmp.sDepartment;//接诊科室编码
                model.sJZKS = GetDictStandardizedName("CVA09.00.001", tmp.sDepartment);//接诊科室:【參数】:1。通过人力资源相应分类编码code 2,部门编码
            }

            model.sJZYSBM = GetSessionCurrentUserInfo.sLoginName;//接诊医师:当前登录【用户编号】
            model.sJZYS = GetSessionCurrentUserInfo.sUserName;//接诊医师:当前登录【用户姓名】
            model.dJZSJ = DateTime.Now;//接诊日期:当前时间
            model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
            model.dOperator = DateTime.Now;//最后操作时间

            return model;
        }

2,属性(依据状态编码返回状态名称:一条字段)

/*[编辑]属性SMartyrKey名称,书写调整(sMartyrKey变更SMartyrKey。自己定义私有字段smartyrKey变更_smartyrKey) 2015/04/22      [方] */
        private string _smartyrKey;//自己定义私有属性_smartyrKey
        public string SMartyrKey
        {
            get
            {
                if (!string.IsNullOrEmpty(_smartyrKey))
                {
                    MartyrsAssociation modelAssoc = new MartyrsAssociation();
                    modelAssoc.sRelationKey = _smartyrKey;//烈士墓key:烈士key(烈士和烈士墓关联获取烈士key)
                    modelAssoc = iLSLSMBLL.GetModel(modelAssoc);//烈士和烈士墓关联实体
                    _smartyrKey = modelAssoc.sMartyrKey;//[sMartyrKey   烈士key]
                }
                return _smartyrKey;//这里取出私有属性_smartyrKey的值
            }
        }

3,索引器(依据状态编码返回状态名称:一条字段)

#region 索引器--根据转诊状态编码【int】获取转诊状态名称【string】
        /// <summary>
        /// 索引器--根据转诊状态编码【int】获取转诊状态名称【string】
        /// </summary>
        /// <param name="index">转诊状态编码【int】</param>
        /// <returns>转诊状态名称【string】</returns>
        public string this[int index]
        {
            get
            {
                //转诊状态(10:已起草;20:已申请;30:院内审核通过 40:院内审核不通过 50:已接诊;60:终审通过;70:终审不通过;90:已作废【仅仅能作废20/30/40】)
                switch (index)
                {
                    case 10:
                        _izzztname = "已起草";
                        break;
                    case 20:
                        _izzztname = "已申请";
                        break;
                    case 30:
                        _izzztname = "申请单位审核通过";
                        break;
                    case 40:
                        _izzztname = "申请单位审核不通过";
                        break;
                    case 50:
                        _izzztname = "已接诊";
                        break;
                    case 60:
                        _izzztname = "终审通过";
                        break;
                    case 70:
                        _izzztname = "终审不通过";
                        break;
                    case 90:
                        _izzztname = "已作废";
                        break;
                    default:
                        break;
                }
                return _izzztname;//转诊状态名称
            }
        }
        #endregion

        /// <summary>
        /// 获取转诊状态名称
        /// </summary>
        /// <param name="sCode">转诊状态编码</param>
        /// <returns>转诊状态名称</returns>
        protected string GetiZZZTName(string sCode)
        {
            /*通过索引器获得转诊状态名称*/
            if (!string.IsNullOrEmpty(sCode))
            {
                Referral rfIndexer = new Referral();
                _izzztname = rfIndexer[Convert.ToInt32(sCode)];//索引器this:通过类的实例调用【參数:转诊状态编码】
            }
            return _izzztname;//转诊状态名称
        }

TODO:

1,方法用的最多

2,属性其次

3。索引器最少

原文地址:https://www.cnblogs.com/blfshiye/p/5208758.html