C# 中Partial的用法- 小毛崽子 - 博客园
文章推薦指數: 80 %
C# 中Partial的用法在学习中又开始接触新的小知识了,记录一下, ... 用partial后拆分为一下public partial class TODO { public string name { get; ...
首页
新闻
博问
专区
闪存
班级
我的博客
我的园子
账号设置
简洁模式...
退出登录
注册
登录
Baron_king
C#中Partial的用法
C#中Partial的用法
在学习中又开始接触新的小知识了,记录一下,方便以后复习。
Partial
C#2.0可以将类,结构或接口的定义拆分到两个或多个源文件中,在类声明前添加Parrtial关键字即可
例:
//源classpublicclassToDo
{
publicstringname{get;set;}
publicstringpassword{get;set;}
publicbooljudge(stringName,stringPassword)
{
if(Name==name&&password==Password)
{
returntrue;
}
returnfalse;
}
}//用partial后拆分为一下
publicpartialclassTODO
{
publicstringname{get;set;}
publicstringpassword{get;set;}
}
publicpartialclassTODO
{
publicbooljudge(stringName,stringPassword)
{
if(Name==name&&password==Password)
{
returntrue;
}
returnfalse;
}
}//由于拥有Parial指定后,不管分为几个类,class指针始终指向TODO,所以可以调用其中的所有属性,哈哈哈,挺好玩的
使用Partial需要注意以下一些情况
1、使用partial关键字表明可在命名空间内定义该类、结构或接口的其他部分
2、所有部分都必须使用partial关键字
3、各个部分必须具有相同的可访问性,如public、private等
4、如果将任意部分声明为抽象的,则整个类型都被视为抽象的
5、如果将任意部分声明为密封的,则整个类型都被视为密封的
6、如果任意部分声明继承基类时,则整个类型都将继承该类
7、各个部分可以指定不同的基接口,最终类型将实现所有分部声明所列出的全部接口
8、在某一分部定义中声明的任何类、结构或接口成员可供所有其他部分使用
应用场景
可以使用partialclass的场景很多。
这里分析一个ORM的例子。
系统中有一个Cat类,属性ID、Age、Weight都需要存储到数据库中,一个信息系统中常见的需求。
通过读取数据库的结构,可以用工具生成Cat类的代码。
并且ORM框架支持了从数据库信息生成Cat对象。
现在的Cat什么动作都没有,客户说,我们需要一个Miaow()的函数。
这时就需要对ORM生成的Cat类进行扩展了。
可以肯定地一点是,我们不能修改自动生成的代码,因为这会牵涉到数据库结构与代码同步的问题。
解决这个需求有两种方法:继承方式扩展,partialclass扩展。
优缺点
Partial的优缺点其实都挺明显:
优点:
提高了程序员开发时对程序编辑的灵活性,只需要维护自己的项目模块就好
缺点:
降低了程序逻辑的可读性,增加了维护的难度
postedon
2020-09-0112:52
小毛崽子
阅读(2811)
评论(0)
编辑
收藏
举报
刷新评论刷新页面返回顶部
Poweredby:
博客园
Copyright©2022小毛崽子
Poweredby.NET6onKubernetes
导航
延伸文章資訊
- 1C# 中Partial的用法_實用技巧 - 程式人生
C# 中Partial的用法 · 1、使用partial 關鍵字表明可在名稱空間內定義該類、結構或介面的其他部分 · 2、所有部分都必須使用partial 關鍵字 · 3、各個部分必須 ...
- 2C# 修飾詞- partial - Ron 2.0
用法. 部分類別(partial class). 以部分類別為例, 我們可以將一個類別拆成多個部分類別並且分別放 ...
- 3C# 中Partial的用法- 小毛崽子 - 博客园
C# 中Partial的用法在学习中又开始接触新的小知识了,记录一下, ... 用partial后拆分为一下public partial class TODO { public string n...
- 4c# partial class 的用法 - 程式人生
partial class A 就是說明這是類A 只是一部分。我可以在建立一個類B.cs。在程式碼裡也寫partial class A。那麼程式在編譯後。兩個A中的屬性和方法會 ...
- 5C# Partial Class 部分類別 - 謙言謙語
C# Partial Class 部分類別. Partial Class 部分類別 簡單來說可以將一個相同namespace 底下的類別拆成多個來使用(彈性、方便多人維護) <class1.cs>