亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中partial關(guān)鍵字的作用

 更新時(shí)間:2017年03月03日 09:53:57   作者:PowerCoder  
這篇文章主要介紹了C#中partial關(guān)鍵字的作用詳解,包括局部類型概念和注意點(diǎn)介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下

1. 什么是局部類型?

C# 2.0 引入了局部類型的概念。局部類型允許我們將一個(gè)類、結(jié)構(gòu)或接口分成幾個(gè)部分,分別實(shí)現(xiàn)在幾個(gè)不同的.cs文件中。

局部類型適用于以下情況:

(1) 類型特別大,不宜放在一個(gè)文件中實(shí)現(xiàn)。

(2) 一個(gè)類型中的一部分代碼為自動化工具生成的代碼,不宜與我們自己編寫的代碼混合在一起。

(3) 需要多人合作編寫一個(gè)類。

局部類型是一個(gè)純語言層的編譯處理,不影響任何執(zhí)行機(jī)制——事實(shí)上C#編譯器在編譯的時(shí)候仍會將各個(gè)部分的局部類型合并成一個(gè)完整的類。

  public partial class Program
  {
   static void Main(string[] args)
   {
   }
  }
  partial class Program
  { 
   public void Test()
   { 
   }
  }

2. 局部類型的限制

(1) 局部類型只適用于類、接口、結(jié)構(gòu),不支持委托和枚舉。

(2) 同一個(gè)類型的各個(gè)部分必須都有修飾符 partial。

(3) 使用局部類型時(shí),一個(gè)類型的各個(gè)部分必須位于相同的命名空間中。

(4) 一個(gè)類型的各個(gè)部分必須被同時(shí)編譯。

3. 局部類型的注意點(diǎn)

(1) 關(guān)鍵字partial是一個(gè)上下文關(guān)鍵字,只有和 class、struct、interface 放在一起時(shí)才有關(guān)鍵字的含義。因此partial的引入不會影響現(xiàn)有代碼中名稱為partial的變量。

(2) 局部類型的各個(gè)部分一般是分開放在幾個(gè)不同的.cs文件中,但C#編譯器允許我們將他們放在同一文件中。

4. 局部類型的應(yīng)用特性

在局部類型上的特性具有“累加”效應(yīng)。

[Attribute1, Attribute2("Hello")]
partial class Class1{}
[Attribute3, Attribute2("Exit")]
partial class Class1{}

相當(dāng)于

[Attribute1, Attribute2("Hello"), Attribute3, Attribute2("Exit")]
class Class1 {}

注:Attribute2屬性允許在類上多次使用。

5. 局部類型上的修飾符

(1) 一個(gè)類型的各個(gè)部分上的訪問修飾符必須維持一致性。

(2) 如果一個(gè)部分類使用了abstract修飾符,那么整個(gè)類都將被視為抽象類。

(3) 如果一個(gè)部分類使用了 sealed 修飾符,那么整個(gè)類都將被視為密封類。

(4) 一個(gè)類的各個(gè)部分不能使用相互矛盾的修飾符,比如不能在一個(gè)部分上使用abstract,又在另一個(gè)部分上使用sealed。

(5)如果一個(gè)部分類使用了 static修飾符,那么整個(gè)類都將被視為靜態(tài)類。

6. 局部類型的基類和接口

(1) 一個(gè)類型的各個(gè)部分上指定的基類必須一致。某個(gè)部分可以不指定基類,但如果指定,則必須相同。

(2) 局部類型上的接口具有“累加”效應(yīng)。

partial class Class2: Iinterface1, Iinterface2 {}
partial class Class2: Iinterface3 {}
partial class Class2: Iinterface2 {}

相當(dāng)于

class Class2: Iinterface1, Iinterface2, Iinterface3 {}

以上所述是小編給大家介紹的C#中partial關(guān)鍵字的作用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 基于WPF實(shí)現(xiàn)裁剪圖像功能

    基于WPF實(shí)現(xiàn)裁剪圖像功能

    這篇文章主要為大家詳細(xì)介紹了如何基于WPF實(shí)現(xiàn)裁剪圖像功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-06-06
  • WPF制作帶小箭頭的按鈕完整代碼

    WPF制作帶小箭頭的按鈕完整代碼

    WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框架。下面通過本文給大家介紹WPF制作帶小箭頭的按鈕完整代碼,需要的朋友參考下吧
    2017-12-12
  • 深入C#中g(shù)et與set的詳解

    深入C#中g(shù)et與set的詳解

    本篇文章是對C#中的get與set進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • VSCode調(diào)試C#程序及附缺失.dll文件的解決辦法

    VSCode調(diào)試C#程序及附缺失.dll文件的解決辦法

    這篇文章主要介紹了VSCode調(diào)試C#程序及附缺失.dll文件的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • C#導(dǎo)出Excel的方法

    C#導(dǎo)出Excel的方法

    本文給大家分享的是基于.net 1.0開發(fā)的程序如何實(shí)現(xiàn)導(dǎo)出Excel的方法和示例,使用的是UltraWebGrid自帶導(dǎo)出Excel的控件,非常的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-06-06
  • 改進(jìn)c# 代碼的五個(gè)技巧(一)

    改進(jìn)c# 代碼的五個(gè)技巧(一)

    這篇文章主要介紹了改進(jìn)c# 代碼的五個(gè)技巧(一),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-01-01
  • 利用C#實(shí)現(xiàn)可以繼承的"枚舉"

    利用C#實(shí)現(xiàn)可以繼承的"枚舉"

    工作中許多代碼中用到枚舉(enum),更用到了需要繼承的枚舉,由于C#的枚舉不允許被繼承,所以本文就來模擬實(shí)現(xiàn)一個(gè)可以繼承的仿枚舉吧
    2023-05-05
  • WPF實(shí)現(xiàn)Table布局控件的示例代碼

    WPF實(shí)現(xiàn)Table布局控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用WPF實(shí)現(xiàn)Table布局控件,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • C#多線程中如何運(yùn)用互斥鎖Mutex

    C#多線程中如何運(yùn)用互斥鎖Mutex

    這篇文章主要為大家詳細(xì)介紹了C#多線程中如何運(yùn)用互斥鎖Mutex,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • KMP算法的C#實(shí)現(xiàn)方法

    KMP算法的C#實(shí)現(xiàn)方法

    這篇文章主要介紹了KMP算法的C#實(shí)現(xiàn)方法,代碼簡潔實(shí)用,需要的朋友可以參考下
    2014-09-09

最新評論