C#中分部類和分部方法的應(yīng)用
分部類(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,這兩個語法特性都具有相同的特性:將類(或)方法的代碼分散在多個地方。
1.分部類的特性和應(yīng)用
1.1分部類的定義
在定義一個類時,加上partial關(guān)鍵字,此類即成為分部類。
分部類允許將一個類的代碼分散于一個以上的源代碼文件中。
Person.cs代碼如下
namespace PartialClassDemo1
{
public partial class Person
{
private int age;
Person(int age, string name)
{
this.age = age;
this.name = name;
}
public int Age
{
get
{
return age;
}
set
{
if (age < 0 || age > 120)
Console.WriteLine("年齡非法");
else
this.age = Age;
}
}
static void Main(string[] args)
{
Person p = new Person(19,"張三");
Console.WriteLine(p.Age);
Console.ReadKey();
}
}
}
Person2.cs代碼如下
namespace PartialClassDemo1
{
public partial class Person
{
private string name;
}
}
使用分部類時,需要注意一下原則:
(1)所有的需要“合并”的類必須都用partial關(guān)鍵字聲明。
(2)所有的需要“合并”的類必須位于同一個項目中。
2.為什么要引入分部類
分部類主要用于隔離來源不同,功能不同或者類型不同的源代碼
另外分布特性還可以用具結(jié)構(gòu)和接口
3.分布方法的特性和應(yīng)用
分布方法允許將方法聲明與方法實現(xiàn)代碼分布于不同的文件中。與分部類類似,使用partial關(guān)鍵字定義分部方法。
partial void show(string str);
partial void show(string str)
{
Console.WriteLine(str+"再見");
}
分布方法不能具有訪問修飾符或virtual、abstract、override new sealed 或者extern修飾符
partial修飾符只能出現(xiàn)在緊靠class struct interface void前面的位置
當(dāng)分部方法沒有實現(xiàn)代碼時,C#編譯器會在編譯時刪除其調(diào)用語句。
現(xiàn)在我們知道了分部方法有這種特性,但是它有什么用呢?
使用分部方法允許我們在一個普通方法中插入一個方法占位符,從而為編寫可隨時添加功能的方法提供支持。
分部方法不能有多個實現(xiàn)。
相關(guān)文章
詳解如何實現(xiàn)C#和Python間實時視頻數(shù)據(jù)交互
我們在做RTSP|RTMP播放的時候,遇到好多開發(fā)者,他們的視覺算法大多運行在python下,需要高效率的實現(xiàn)C#和Python的視頻數(shù)據(jù)交互,本文給大家總結(jié)了一些常用的方法,感興趣的小伙伴跟著小編一起來看看吧2024-10-10
C#實現(xiàn)23種常見的設(shè)計模式的示例詳解
設(shè)計模式通常分為三個主要類別:創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式,這些模式是用于解決常見的對象導(dǎo)向設(shè)計問題的最佳實踐,本文為大家整理了23種常見的設(shè)計模式的實現(xiàn)代碼,需要的可以參考一下2023-06-06
在C#中如何使用正式表達(dá)式獲取匹配所需數(shù)據(jù)
本文給大家分享C#中如何使用正式表達(dá)式獲取匹配所需數(shù)據(jù) ,非常實用,對正則表達(dá)式獲取匹配相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-03-03

