关于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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?