C# 中Partial的用法 | 您所在的位置:网站首页 › partly的用法 › 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的优缺点其实都挺明显: 优点: 提高了程序员开发时对程序编辑的灵活性,只需要维护自己的项目模块就好 缺点: 降低了程序逻辑的可读性,增加了维护的难度
|
CopyRight 2018-2019 实验室设备网 版权所有 |