zoukankan      html  css  js  c++  java
  • 委托从数据库出来的类型分类处理

    一般数据库里区分类别可以直接存放字符,也可以用数字区分。

    比如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了。省的我们还要去记字典方法名。

  • 相关阅读:
    数组迭代方法
    promise
    Gulp执行预处理
    第一个gulp 项目
    vue 单元素过渡
    webpack 入门
    webpack初始化
    v-for 指令
    ajax 工作原理
    面试小问题
  • 原文地址:https://www.cnblogs.com/zisou/p/1952583.html
Copyright © 2011-2022 走看看