摘要: 抽象类和接口最终目的:抽象类实现多态化,接口实现功能化。比如汽车:接口就是轮子,发动机,车身等零部件,抽象类则是颜色,款式,型号等参数性东西。 抽象类(abstract): 接口(interface): 接口没有构造函数,抽象类可以有构造函数,通过这点就确定了其各自的用途:接口是实现功能,抽象类是实 阅读全文
posted @ 2019-01-25 10:08 木狼 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 枚举是一个可以列举元素的对象,常用于权限,日期,类型等。 如果对一个值可以包含多个,那么可以使用枚举,加上Flags 权限相加 判断是否含有此权限 删除权限 数据库存int,将int转成枚举 阅读全文
posted @ 2019-01-23 18:22 木狼 阅读(3351) 评论(0) 推荐(0) 编辑
摘要: ·Select - Select选择;延迟 ·Where - Where查询;延迟 ·OrderBy - 按指定表达式对集合正序排序;延迟 ·OrderByDescending - 按指定表达式对集合倒序排序;延迟 ·GroupBy - 分组;延迟 ·Join - Join查询;延迟 ·GroupJ 阅读全文
posted @ 2019-01-23 08:52 木狼 阅读(251) 评论(0) 推荐(0) 编辑
摘要: class A<T> where T:new() 这是类型参数约束,where表名了对类型变量T的约束关系。where T:A 表示类型变量是继承于A的,或者是A本省。where T: new()指明了创建T的实例应该使用的构造函数。 .NET支持的类型参数约束有以下五种: where T: str 阅读全文
posted @ 2019-01-22 12:12 木狼 阅读(2681) 评论(0) 推荐(0) 编辑
摘要: 1.实例化对象,执行构造函数。 2.泛型约束条件:无参构造函数(仅无参构造函数,有参不行) 3.覆盖基类属性和方法(与override不同,override重写,方法属性必须有abstract或virtual,new覆盖,可以修饰 (除abstract)任何方法和属性;此两者互斥,最大区别是子类转父 阅读全文
posted @ 2019-01-22 11:48 木狼 阅读(2036) 评论(0) 推荐(0) 编辑
摘要: 1.调用基类的方法 2.搭配构造函数执行基类的有参无参构造函数 阅读全文
posted @ 2019-01-22 11:16 木狼 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 1.this代表当前类的实例对象 2.搭配构造函数:a.直接当成参数传递 b.构造函数执行顺序 3.类的索引器:参数可以是int,也可以是string等其他类型 4.类的扩展方法;注意:类必须是静态,方法也是静态,格式如下 阅读全文
posted @ 2019-01-22 09:49 木狼 阅读(4227) 评论(0) 推荐(1) 编辑
摘要: 1.实例化方法,也就是new(); 2.Activator创建实例; 3.反射创建实例; 其中:第1,2个效率高,第3个由于是反射,效率略低。 阅读全文
posted @ 2019-01-21 15:34 木狼 阅读(5171) 评论(0) 推荐(0) 编辑
摘要: C# 事务里面如果只是针对单数据库,则可以使用SqlTransaction,跨数据库使用TransactionScope。 阅读全文
posted @ 2019-01-17 14:16 木狼 阅读(1604) 评论(0) 推荐(0) 编辑
摘要: sql server事务的使用是为了确保数据的一致性。 通常写法 上面写法存在隐患,当操作(增删改)是由null引发的错误时,事务会跳过错误继续执行正常的语句。例如: 上面结果会多一条数据为“小札”。为了避免了这样的问题: 有三种方法:其中@@error,@@trancount是全局变量,只要发生错 阅读全文
posted @ 2019-01-15 17:51 木狼 阅读(17407) 评论(0) 推荐(1) 编辑