zoukankan      html  css  js  c++  java
  • 关于NBear数据访问层IDData

    GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
    http://cnsendnet.taobao.com
    来自森大科技官方博客
    http://www.cnsendblog.com/index.php/?p=777

    1.下图为IDData里,IDDBOperator类

    2.老版本

    3.实例化

    问题一:class A<T>where T:new()是什么意思?同题,另外还有void F3 <T>(T t) where T:A是什么意思?那个where有什么用的?请大家帮帮忙,我刚C#入门比较的迷茫啊

    where表明了对类型变量T的约束关系。where T: A表示类型变量是继承于A的,或者是A本身。where T:new()指明了创建T的实例时应该使用的构造函数。

    IDDBOPerator是一个泛型类,该中有Insert等方法,由于业务类CTContractView继承了IDDBOPerator类,所以CTContractView具备了Insert方法,由于Insert(T sourse)方法传入参数是来自于IDDBOPerator<T>中的T,所以public class CTContractView:IDDBOPerator<CTContract>  所以各个BLL类中的各个Insert方法,传入的参数就是对应实体类的对象

    问题二:public class Assemble<T> where T:new()这句话是什么意思,能举个例子说一下吗?谢谢

    这句话的意思是声明了一个叫做Assemble<T>的泛型类,然后T的限制为必须要有一个无参构造器。

     

    public class Assemble<T> where T:new()

    {

    public string SayHello<T> (T object)

    {

    T ass=new T();

    return ass.ToString();

    }

    }

     

    public class legal

    {

     public legal()

    {}

    }

     

    public class notlegal

    {

    public notlegal(string someting)

    {}

    }

     

    当声明Assemble<legal> ass=new Assemble<legal>();时相当于声明了一个Assemble<T>,其中第一个代码端中的T全部替换为legal。当声明Assemble<notlegal> ass=new Assemble<notlegal>();时,由于Assemble<T>中T要求必须具有无参构造器,所以,这句话会报错

    public void Delete<T>(List<T> EntityList) where T : class, new() 这是什么意思啊?

    就是说T必须是一个类(class)类型,不能是结构(structure)类型。
     
    这是类型参数约束,.NET支持的类型参数约束有以下五种:
    where T : struct                               | T必须是一个结构类型
    where T : class                               
    where T : new()                               | T必须要有一个无参构造函数
    where T : NameOfBaseClass          | T必须继承名为NameOfBaseClass的类
    where T : NameOfInterface             | T必须实现名为NameOfInterface的接口
     
    如果不明白的话,请补充问题,希望我能帮到你。

    GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
    http://cnsendnet.taobao.com
    来自森大科技官方博客
    http://www.cnsendblog.com/index.php/?p=777

  • 相关阅读:
    Windows2016修改密码
    Linux设置文件夹的权限
    Linux防火墙的命令
    Linux安装jdk1.8.0_181
    Linux删除,重命名文件夹和文件的命令
    一次循环打印九九乘法表
    java垃圾回收机制
    操作系统常用调度算法
    Android中TextView中的文字设置为不同颜色
    自定义Dialog以及Dialog返回值到Activity
  • 原文地址:https://www.cnblogs.com/cnsend/p/13110750.html
Copyright © 2011-2022 走看看