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。索引器最少