『转』数据库的委托之类型分类处理
『轉』數據庫的委托之類型分類處理 很久沒研究數據庫了,因為 XEIM 飛鴿傳書 這個軟件需要用到數據庫,于是研究一下。
轉載的,上網搜原創,我也不知道哪里來的。
一般數據庫里區分類別可以直接存放字符,也可以用數字區分。
比如1,普通會員 2,管理員 3,超級管理員;庫里面存放的是1,2,3等形勢。但出庫后顯示我們需要轉換成別人能看的懂的。
所以大家也做數據字典,但每次我做過的數據字典我都記不了,而且使用起來調用的方法名繁瑣。
委托可以幫到很大的忙,相信很多人也經常用委托來處理其他事件方法。
比如,我們做一個這樣的字典:
/// <summary>??????? /// 根據數字類型取得該會員的類型名稱??????? /// </summary>??????? /// <param name="Typeid"></param>??????? /// <returns></returns>??????? public string GetNumberType(int Typeid)??????? {??????????? string laststr = string.Empty;??????????? switch (Typeid)??????????? {??????????????? case 0:??????????????????? laststr = "普通會員";??????????????????? break;??????????????? case 1:??????????????????? laststr = "VIP會員";??????????????????? break;??????????????? case 2:??????????????????? laststr = "至尊會員";??????????????????? break;??????????? }??????????? return laststr;??????? }
我們這樣經常使用這種方法來調用數據字典,簡單又實惠。
但是諸如此類需要我們大量做的數據字典太多太多,我們每一次使用都要去找類庫查看方法名,太不人性化。
???????????? /// <summary>??????? /// 根據類型取得該消息的類型????????? /// </summary>??????? /// <param name="Typeid"></param>??????? /// <returns></returns>??????? public string GetMsgType(int Typeid)??????? {??????????? string laststr = string.Empty;??????????? switch (Typeid)??????????? {??????????????? case 1:??????????????????? laststr = "私人消息";??????????????????? break;??????????????? case 2:??????????????????? laststr = "系統消息";??????????????????? break;??????????????? case 3:??????????????????? laststr = "官方消息";??????????????????? break;??????????? }??????????? return laststr;??????? }
使用委托就可以不用記這些字典的方法名了。
??????? //委托辦事兒去吧???????? public delegate string GetType(int typeid);??????????????? public static string GetLastType(int cot, GetType MakeType)??????? {??????????? if (cot > 0)??????????? {??????????????? return MakeType(cot);??????????? }??????????? else??????????? {??????????????? return "";??????????? }???????? }
使用委托的關鍵字 delegate 定義了一個GetLastType方法來“處理”諸如此類繁瑣的事兒,有人代理了,還要有人來
“代理吧”以后我們要做事兒就找“代理”,來看看代理長什么樣?
/// <summary>??????? /// 代理辦事??????? /// </summary>??????? /// <param name="typeclass">1,會員的類型;2,消息的類型 </param>??????? /// <param name="typeid">出庫的數字類型</param>??????? /// <returns>返回名稱</returns>??????? public string Gettype(int typeclass,int typeid)??????? {??????????? string laststr = string.Empty;??????????? switch(typeclass)??????????? {??????????????? case 1:???????????????? laststr=? GetLastType(typeid, GetNumberType);???????????????? break;??????????????? case 2:???????????????? laststr = GetLastType(typeid, GetMsgType);???????????????? break;??????????? }??????????? return laststr;??????? }
使用的時候就用Gettype方法,寫上注釋,就完事OK了。省的我們還要去記字典方法名。
總結
以上是生活随笔為你收集整理的『转』数据库的委托之类型分类处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞鸽传书2009绿色版 官方网站下载地址
- 下一篇: 目标文件里面到底有什么(2)?