解决方案 »

  1.   

    classNameSpace应该是每张表的map name,
    根据你传入的classNameSpace 到cache里拿对应的这张表的instance,
    如果cache里没有就用反射生成一个实例,如果有就直接拿
    避免每次调用都反射生成实例,提高效率,反射很费资源
      

  2.   

    第二个方法调用第一个方法
    所以重点分析第一个方法第一个方法:
    判断是否存在缓存中
    如果没有,则反射创建实例
    然后放进缓存分享一下我是怎么分析我不懂的代码的~
    如果是微软官方的
    鼠标点一下 Assembly 然后按一下F1 会到MSDN上面 接着阅读吧 
      

  3.   


    第二个方法的作用是提供一个泛型方法,目的在于为任意指定类型生成一个实例,并写入缓存。
    输入:你只需要在使用方法的时候指定T的类型,还有namespace;
    输出:类型的实例
    过程中隐含了写入缓存的操作。第一个方法是第二个方法调用的。
    1.判断缓存里是否存在当前类型的实例;
    2.不存在就创建实例,并写入缓存(具体见setcache方法);
    3.返回实例;setcache方法就是往缓存里写数据用的,或者说将类的实例注入到内存里。这些方法的作用就是为了减少类型实例化。把实例写进缓存,从里面获取。
      

  4.   


    第二个方法的作用是提供一个泛型方法,目的在于为任意指定类型生成一个实例,并写入缓存。
    输入:你只需要在使用方法的时候指定T的类型,还有namespace;
    输出:类型的实例
    过程中隐含了写入缓存的操作。第一个方法是第二个方法调用的。
    1.判断缓存里是否存在当前类型的实例;
    2.不存在就创建实例,并写入缓存(具体见setcache方法);
    3.返回实例;setcache方法就是往缓存里写数据用的,或者说将类的实例注入到内存里。这些方法的作用就是为了减少类型实例化。把实例写进缓存,从里面获取。手误,“或者说将类的实例注入到内存里”应该是“或者说将类的实例注入到缓存里”。