zoukankan      html  css  js  c++  java
  • LINQtoSQL那点事~耳目一新的partial class 和 partial method

    回到目录

    当你打开扩展名为dbml的LINQ-to-SQL的文件后,你将会看到很多用partial修饰符来修饰的方法,类等,它们是用来做什么的呢?起初到win form时代也这个东西,partial译为“部分”,就是说它只是某个东西的一部分,你可以在其它地方再去扩展它,起初微软就认为对于一个类来说,可能不是一个人做涉及,它可能是几个人同时去干预它,所以,它提出的“分部类 partial class”的概念,它之后被非常好的应用到了LINQ-to-SQL中。

    对于一个由生成器为我们生成的模型来说,LINQ-to-SQL一定不知道我们以后要做什么,它只能把最标准的代码为我们生成,可能是一个表对象,一些表属性,固定的行为,事件等等,但与业务相关的东西它无法生成,这时,它将类,方法做成了partial,如图:

    这使我们可以在DBML模型外部去扩展这个User_Info类,它里面也有partial method,事实上,partial method只能被实现一次,必须返回值必须是void,一般地,在DBML模型中只是规定了固定的method签名,而真到的实现你可以自己在扩展的class中去实现。

    像下面三个partial method是公用的,对于每个实现它们都是统一的,其中OnCreated是指当类型被new时,去执行本方法,有时,我们确实需要这样去做

    对于微软自己生成的LINQ-to-SQL(DBML)文件,我们通过查看它的源代码,确实使我们耳目一新,另一方面也感觉到了C#语言的魅力,而我们当初抛弃JAVA(不思进取的语言)是正确的选择,呵呵!

    回到目录

  • 相关阅读:
    hashilb的使用
    包的导入/软件开发规范/异常处理
    序列化模块/模块/包
    常见模块
    可变数据类型和不可变数据类型
    python-----运算符及while循环
    Python之字符串切片
    第一、二次实训作业
    第二次JAVA作业
    Java学习心得
  • 原文地址:https://www.cnblogs.com/lori/p/2640966.html
Copyright © 2011-2022 走看看