zoukankan      html  css  js  c++  java
  • C# 中Partial的用法

                                                                                  C# 中Partial的用法

    在学习中又开始接触新的小知识了,记录一下,方便以后复习。

    Partial

    C#2.0可以将类,结构或接口的定义拆分到两个或多个源文件中,在类声明前添加Parrtial关键字即可

    例:

    //源class  
    public
    class ToDo { public string name { get; set; } public string password { get; set; } public bool judge(string Name, string Password) { if (Name == name && password == Password) { return true; } return false; } }
    //用partial后拆分为一下
    public partial class TODO { public string name { get; set; } public string password { get; set; } }
    public partial class TODO { public bool judge(string Name, string Password) { if (Name == name && password == Password) { return true; } return false; } }
    //由于拥有Parial指定后,不管分为几个类,class指针始终指向TODO,所以可以调用其中的所有属性,哈哈哈,挺好玩的

    使用Partial需要注意以下一些情况

    1、使用partial 关键字表明可在命名空间内定义该类、结构或接口的其他部分

    2、所有部分都必须使用partial 关键字

    3、各个部分必须具有相同的可访问性,如public、private 等

    4、如果将任意部分声明为抽象的,则整个类型都被视为抽象的

    5、如果将任意部分声明为密封的,则整个类型都被视为密封的

    6、如果任意部分声明继承基类时,则整个类型都将继承该类

    7、各个部分可以指定不同的基接口,最终类型将实现所有分部声明所列出的全部接口

    8、在某一分部定义中声明的任何类、结构或接口成员可供所有其他部分使用

    应用场景

    可以使用partial class的场景很多。这里分析一个ORM的例子。系统中有一个Cat类,属性ID、Age、Weight都需要存储到数据库中,一个信息系统中常见的需求。通过读取数据库的结构,可以用工具生成Cat类的代码。并且ORM框架支持了从数据库信息生成Cat对象。

    现在的Cat什么动作都没有,客户说,我们需要一个Miaow()的函数。这时就需要对ORM生成的Cat类进行扩展了。可以肯定地一点是,我们不能修改自动生成的代码,因为这会牵涉到数据库结构与代码同步的问题。解决这个需求有两种方法:继承方式扩展,partial class扩展。

    优缺点

    Partial的优缺点其实都挺明显:

    优点:

    提高了程序员开发时对程序编辑的灵活性,只需要维护自己的项目模块就好

    缺点:

    降低了程序逻辑的可读性,增加了维护的难度

     

  • 相关阅读:
    20200816
    20200815
    20200813
    20200811
    20200810
    20200806
    20200804
    20200803
    20200802
    20200801
  • 原文地址:https://www.cnblogs.com/Baron-King/p/13595496.html
Copyright © 2011-2022 走看看