C# 的一個(gè)特殊功能是分部類(lèi),使用分部類(lèi)可以將單個(gè)類(lèi)功能實(shí)現(xiàn)到多個(gè)文件中,然后在應(yīng)用程序編譯期間將這些文件組合在一起形成單個(gè)類(lèi)文件,并且使用partial 關(guān)鍵字在 C# 中創(chuàng)建分部類(lèi),此分部關(guān)鍵字還用于將方法功能、接口功能或結(jié)構(gòu)功能劃分為多個(gè)文件,并且所有這些文件在強(qiáng)制編譯期間必須可用,以創(chuàng)建最終文件和用戶(hù)還可以使用嵌套的部分類(lèi)型。
語(yǔ)法:
public partial Class_name { // code }
C# 中的部分類(lèi)的函數(shù)
必須在任何類(lèi)名之前使用partial關(guān)鍵字才能使該類(lèi)成為分部類(lèi)??梢允褂胮artial關(guān)鍵字將接口、結(jié)構(gòu)或類(lèi)分為多個(gè)部分。通過(guò)將類(lèi)作為分部類(lèi),可以將單個(gè)類(lèi)分為多個(gè)文件。在部分代碼的編譯過(guò)程中,多個(gè)類(lèi)或多個(gè)接口或結(jié)構(gòu)被編譯為單個(gè)類(lèi)或單個(gè)接口或結(jié)構(gòu)??梢允褂胮artial關(guān)鍵字將用于設(shè)計(jì)的用戶(hù)界面代碼與用于業(yè)務(wù)邏輯的代碼分開(kāi),這使得工作和理解更容易。
使用分部類(lèi),多個(gè)開(kāi)發(fā)人員可以并行工作。定制的邏輯代碼可以通過(guò)使用部分類(lèi)嵌入到框架自動(dòng)生成的代碼中。通過(guò)將較大的類(lèi)劃分為較小的類(lèi),可以輕松地理解和維護(hù)較大的類(lèi)。通過(guò)將接口劃分為多個(gè)可以與多個(gè)開(kāi)發(fā)人員共享的代碼,可以加快應(yīng)用程序的開(kāi)發(fā)速度。密封部分類(lèi)會(huì)導(dǎo)致整個(gè)類(lèi)被密封。這稱(chēng)為分部類(lèi)的密封屬性。將部分類(lèi)抽象化會(huì)導(dǎo)致整個(gè)類(lèi)成為抽象類(lèi)。這稱(chēng)為分部類(lèi)的抽象屬性。具有相同名稱(chēng)的分部類(lèi)必須僅在同一命名空間范圍內(nèi)聲明。
在 C# 中實(shí)現(xiàn) Partial 的示例
考慮以下示例來(lái)理解 C# 中分部類(lèi)的概念:
示例#1
?代碼:
using System public class Check { //main method is called public static void Main() { //the same partuial class is defined at two places twice but during compilation it is executed as a single file parclass pc=new parclass(); pc.firstmethod(); pc.secmethod(); } //partial class is defined with the same class name public partial class parclass { //a method is declared public void firstmethod() { Console.WriteLine("The first method is called"); } } //another partial class is defined with the same name public partial class parclass { //another method is declared public void secmethod() { Console.WriteLine("The second method is called"); } } }
輸出:
說(shuō)明:在上面的程序中,定義了一個(gè)名為 check 的類(lèi),在該類(lèi)中調(diào)用了 main 方法。該主方法由稍后定義的分部類(lèi)的實(shí)例組成,使用該實(shí)例來(lái)調(diào)用分部類(lèi)的方法。定義了兩個(gè)具有相同名稱(chēng) parclass 的分部類(lèi)。它們包含在主方法中調(diào)用的不同方法。分部類(lèi)在編譯過(guò)程中將多個(gè)類(lèi)合并為一個(gè)類(lèi),輸出如上面的快照所示。
示例#2
C# 程序演示分部類(lèi),同時(shí)為變量賦值并使用兩個(gè)不同的類(lèi)打印它們。
?代碼:
using System; public class Check { //main method is called public static void Main() { //the same partial class is defined at two places twice but during compilation it is executed as a single file rec r=new rec(5,10); r.print(); Console.ReadLine(); } //partial class is defined with the same class name public partial class rec { private int a; private int b; //a method is declared public rec(int a, int b) { this.a = a; this.b = b; } } //another partial class is defined with the same name public partial class rec { //another method is declared public void print() { Console.WriteLine("The value of a is "+ a); Console.WriteLine("The value of b is "+ b); } } }
輸出:
說(shuō)明:在上面的程序中,定義了一個(gè)名為 check 的類(lèi),在該類(lèi)中調(diào)用了 main 方法。該主方法由稍后定義的分部類(lèi)的實(shí)例組成,使用該實(shí)例來(lái)調(diào)用分部類(lèi)的方法。定義了兩個(gè)同名的分部類(lèi)。它們包含在主方法中調(diào)用的不同方法。分部類(lèi)在編譯過(guò)程中將多個(gè)類(lèi)合并為一個(gè)類(lèi),輸出如上面的快照所示。
示例 #3
C# 程序演示分部類(lèi),同時(shí)為變量賦值并使用兩個(gè)不同的類(lèi)打印它們。
代碼:
using System; public class Check { //main method is called public static void Main() { //the same partial class is defined at two places twice but during????? compilation it is executed as a single file stat r=new stat(); r.print1(); r.print2(); } //partial class is defined with the same class name public partial class stat { public void print1() { Console.WriteLine("Hello, welcome to Partial class one"); } } //another partial class is defined with the same name public partial class stat { //another method is declared public void print2() { Console.WriteLine("Hello, welcome to partial class two"); } } } <strong>Output:</strong>
說(shuō)明:在上面的程序中,定義了一個(gè)名為 check 的類(lèi),在該類(lèi)中調(diào)用了 main 方法。該主方法由稍后定義的分部類(lèi)的實(shí)例組成,使用該實(shí)例來(lái)調(diào)用分部類(lèi)的方法。定義了兩個(gè)具有相同名稱(chēng) stat 的分部類(lèi)。它們包含在主方法中調(diào)用的不同方法。分部類(lèi)在編譯過(guò)程中將多個(gè)類(lèi)合并為一個(gè)類(lèi),輸出如上面的快照所示。
以上是C# 中的部分的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線(xiàn)人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話(huà)題

C# 隨機(jī)數(shù)生成器指南。在這里,我們討論隨機(jī)數(shù)生成器的工作原理、偽隨機(jī)數(shù)和安全數(shù)的概念。

多線(xiàn)程和異步的區(qū)別在于,多線(xiàn)程同時(shí)執(zhí)行多個(gè)線(xiàn)程,而異步在不阻塞當(dāng)前線(xiàn)程的情況下執(zhí)行操作。多線(xiàn)程用于計(jì)算密集型任務(wù),而異步用于用戶(hù)交互操作。多線(xiàn)程的優(yōu)勢(shì)是提高計(jì)算性能,異步的優(yōu)勢(shì)是不阻塞 UI 線(xiàn)程。選擇多線(xiàn)程還是異步取決于任務(wù)性質(zhì):計(jì)算密集型任務(wù)使用多線(xiàn)程,與外部資源交互且需要保持 UI 響應(yīng)的任務(wù)使用異步。

C# 素?cái)?shù)指南。這里我們討論c#中素?cái)?shù)的介紹和示例以及代碼實(shí)現(xiàn)。

C#和C 的歷史與演變各有特色,未來(lái)前景也不同。1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語(yǔ)言,其演變歷程包括多次標(biāo)準(zhǔn)化,如C 11引入auto關(guān)鍵字和lambda表達(dá)式,C 20引入概念和協(xié)程,未來(lái)將專(zhuān)注于性能和系統(tǒng)級(jí)編程。2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點(diǎn),其演變注重簡(jiǎn)潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來(lái)將專(zhuān)注于開(kāi)發(fā)者的生產(chǎn)力和云計(jì)算。

可以采用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進(jìn)行手工編輯;使用在線(xiàn)或桌面 XML 格式化工具(如 XMLbeautifier)進(jìn)行自動(dòng)格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語(yǔ)言(如 Python)進(jìn)行解析和操作。修改時(shí)需謹(jǐn)慎,并備份原始文件。
