中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中有哪些局部類型

發布時間:2021-07-20 11:00:00 來源:億速云 閱讀:145 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關C#中有哪些局部類型,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

C#局部類型的引入

沒有局部類型的時候(C# 1.0)

class App  {     public void Foo(){...}     ...     public void Bar(){...}     ...  }


有了局部類型之后(C# 2.0)

partial class App  {     public void Foo()     {...}     ...  }  partial class App  {     public void Bar()     {...}     ...  }


C#局部類型簡介

局部類型允許我們將一個類型(類、結構或者接口)分成幾個部分,分別實現在幾個不同的.cs文件中。

C#局部類型適用于以下情況:
◆類型特別大,不宜放在一個文件中實現;
◆一個類型中一部分代碼為自動化工具生成的代碼,不宜與我們自己編寫的代碼混合在一起。
局部類型是一個純語言層的編譯處理,不影響任何執行機制 - 事實上C#編譯器在編譯的時候仍會將各個部分的局部類型可并成一個完整的類。

C#局部類型的一些限制

局部類型只適用于類、結構、或接口,不支持委托或枚舉。同一個類型的各個部分必須都有修飾符partial。使用局部類型時,一個類型的各個部分必須位于相同的名稱空間中。一個類型的各個部分必須被同時編譯。換言之,C#不支持先編譯一個類型的某些部分,然后再編譯一個類型的某些部分。

C#局部類型的幾個特點

關鍵字partial是一個上下文關鍵字,只有和class、struct、interface放在一起時才有關鍵字的含義。因此partial的引入不會影響現有代碼中名稱為partial的變量。局部類型的個數并不必須為2個或2個以上,也可以為1個,雖然這時候已經沒有“局部”的必要。局部類型的各個部分一般是分開放在幾個不同的.cs文件中,但C#編譯器允許我們將它們放在同一個.cs文件中。

在C#局部類型上應用特性

[Attr1,Attr2("hello")]  partial class A{}   [Attr3,Attr2("goodbye")]  partial class A{}   //相當于在A類上應用了如下特性:  [Attr1,Attr2("hello"),Attr3,Attr2("goodbye")]  partial class A{}

C#局部類型上的修飾符

一個類型的各個部分上的訪問保護修飾符必須維持一致性。如果一個類型有一個部分使用了abstract修飾符,那么整個類將被視為抽象類。如果一個類型有一個部分使用了sealed修飾符號, 那么整個類將被視為密封類。一個類的各個部分不能使用相互矛盾的修飾符,比如不能在一個部分上使用abstract,又在另一個部分上使用sealed。

C#局部類型的基類或接口

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

partial class C:IA,IB{...}  partial class C:IC{...}  partial class C:IA,IB{...}

關于C#中有哪些局部類型就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇源县| 博湖县| 集贤县| 当阳市| 清涧县| 西平县| 郸城县| 巴彦县| 河津市| 夏河县| 沾益县| 东方市| 民权县| 沙田区| 青海省| 湖北省| 东乡县| 阿尔山市| 前郭尔| 信丰县| 文山县| 锦州市| 黄平县| 柞水县| 宁蒗| 阜宁县| 闽侯县| 西峡县| 九江市| 乐山市| 昭苏县| 彝良县| 彭山县| 德钦县| 浠水县| 蒙阴县| 苍山县| 同德县| 大英县| 浮山县| 十堰市|