修飾符【C#】

?

分為四部分:屬性修飾符,存取修飾符,類修飾符和成員修飾符。

屬性修飾符:

[Serializable]:按值將對象封送到遠程服務器。在按值封送對象時,就會創建一個該對象的副本,并將其序列化傳送到服務器。 任何對該對象的方法調用都是在服務器上進行的。

[STAThread]:是Single-Threaded Apartment單線程套間的意思,是一種線程模型(線程模式用于處理組件在多線程的環境里并行與并互的方式),套間線程(STAThread)模式中接口跨線程傳遞必須被調度(Marshal),不調度直傳肯定會失敗!而MTA或FreeThread模式中的接口可以不經調度直接傳遞。這種調度在特定的環境中非常影響性能(可有幾百倍之差)。如VB里只支持STAThread模式。FreeThread模式的組件會在里面表現成和跨進程一樣慢!線程模式是微軟的COM基礎中的極其重要的概念。一定要吃透!

[MTAThread]:是MultiThreaded Apartment多線程套間的意思,同上也是一種線程模型。

存取修飾符:

public:存取不受限制。
private:只有包含該成員的類可以存取。
internal:只有當前工程可以存取。
protected:只有包含該成員的類以及派生類可以存取。

類修飾符:

abstract:抽象類。指示一個類只能作為其它類的基類。
sealed:密封類。指示一個類不能被繼承。理所當然,密封類不能同時又是抽象類,因為抽象總是希望被繼承的。

成員修飾符:

abstract:指示該方法或屬性沒有實現。
sealed:密封方法。可以防止在派生類中對該方法的override(重載)。不是類的每個成員方法都可以作為密封方法密封方法,必須對基類的虛方法進行重載,提供具體的實現方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時使用。
delegate:委托。用來定義一個函數指針。C#中的事件驅動是基于delegate + event的。
const:指定該成員的值只讀不允許修改。
event:聲明一個事件。
extern:指示方法在外部實現。
override:重寫。對由基類繼承成員的新實現。
readonly:指示一個域只能在聲明時以及相同類的內部被賦值。
static:指示一個成員屬于類型本身,而不是屬于特定的對象。即在定義后可不經實例化,就可使用。
virtual:指示一個方法或存取器的實現可以在繼承類中被覆蓋。
new:在派生類中隱藏指定的基類成員,從而實現重寫的功能。 若要隱藏繼承類的成員,請使用相同名稱在派生類中聲明該成員,并用 new 修飾符修飾它。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713087.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713087.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713087.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TCP/UDP,HTTP、HTTPS存在什么風險會影響到網絡安全嗎

近年來,隨著網絡技術的飛速發展,互聯網影響人們的方方面面,我們平時也接觸到許多以前從未聽過的東西,今天德迅云安全就來分享下一些互聯網安全知識,講解一些關于常看到的關于IP, TCP/UDP,HTTP、HTTPS這些名…

QT之液晶電子時鐘

根據qt的<QLDNumber>做了一個qt液晶電子時鐘. 結果 實時顯示當前時間,左鍵可以拖動時鐘在屏幕的位置,右鍵點擊關閉顯示. 實現過程 新建一個class文件,讓這個文件的父類是QLCDNumber 相關功能變量定義和函數實現 .c文件代碼 這里需要注意的一點是event->button是獲取的…

SpringMVC自定義視圖解析器

/** * 使用View接口完成請求轉發|重定向 * 解釋: * SpringMVC的官方&#xff0c;提供了一個叫做View的接口&#xff0c;告訴開發人員 * DispatcherServlet底層會調用View接口的實例化對象中的邏輯方法 * 來完成對應的請求轉發和重定向。 * 使用: * 1. 單元方法的返回值為View接…

前臺自動化測試:基于敏捷測試驅動開發(TDD)的自動化測試原理

一、自動化測試概述 自動化測試主要應用到查詢結果的自動化比較&#xff0c;把借助自動化把相同的數據庫數據的相同查詢條件查詢到的結果同理想的數據進行自動化比較或者同已經保障的數據進行不同版本的自動化比較&#xff0c;減輕人為的重復驗證測試。多用戶并發操作需要自動…

【開源】JAVA+Vue.js實現APK檢測管理系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 開放平臺模塊2.3 軟件檔案模塊2.4 軟件檢測模塊2.5 軟件舉報模塊 三、系統設計3.1 用例設計3.2 數據庫設計3.2.1 開放平臺表3.2.2 軟件檔案表3.2.3 軟件檢測表3.2.4 軟件舉報表 四、系統展示五、核心代…

pdfpages 宏包和 includepdf 使用問題

在 latex 中插入其他 pdf 文檔的頁時 \usepackage{pdfpages} % 插入 PDF 頁 \includepdf[pages-]{pg276-axi-hbm-en.pdf} 用 xelatex 編譯生成的 pdf 文檔內容會與原文檔內容不一致&#xff0c;文字位置對折等問題。 解決辦法&#xff1a; A 文檔中的某些…

springBoot整合Redis(二、RedisTemplate操作Redis)

Spring-data-redis是spring大家族的一部分&#xff0c;提供了在srping應用中通過簡單的配置訪問redis服務&#xff0c;對reids底層開發包(Jedis, JRedis, and RJC)進行了高度封裝&#xff0c;RedisTemplate提供了redis各種操作、異常處理及序列化&#xff0c;支持發布訂閱&…

Android:BitmapFactory.decodeStream Bitmap的內存優化OutOfMemory異常以后Crash閃退

自己項目中使用如下方法&#xff0c;有的手機上會奔潰報錯&#xff0c;原因是BitmapFactory.decodeStream部分沒有使用options參數改變內存大小 改成如下形式后正常了&#xff1b;正確解決方案&#xff1a;設置inSampleSize 一&#xff09;Android BitmapFactory.decodeStream(…

C++利用匯編挖掘編程語言的本質..

1.謬論 很多非一手的資料特別是中文資料其實并不可靠 因為很多作者都是直接通過轉載他人的作品 也不管他人作品真與假 而且有一部分的作品中的言論和官方描述相去甚遠 有的則是翻譯的過程中出現了問題 比如sizeof很多人認為是一個函數 其實他并不是一個函數 而是一個運算符 是…

【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit

1.問題描述 升級到4.0.0.59版本后&#xff0c;通過pushService.getToken獲取華為的token時報如下錯誤&#xff1a;Illegal application identity. 解決方案 Mate 40 Pro (NOH) 從 4.0升級到4.1版本后&#xff0c;會出現UDID變化&#xff0c;影響歷史的調試簽名使用&#xff…

檔案數字化驗收流程

檔案數字化驗收流程通常包括以下步驟&#xff1a; 1. 確定驗收標準&#xff1a;制定檔案數字化驗收標準&#xff0c;明確要求檢查的內容、質量要求、驗收標準等。 2. 準備驗收環境&#xff1a;為檔案數字化驗收準備合適的環境&#xff0c;包括驗收場所、設備、人員等。 3. 準備…

vscode 引入外部依賴包

背景 我要在vscode中寫一些antlr代碼生成的cpp代碼&#xff0c;但是在引入頭文件#include "antlr4-runtime.h"的時候&#xff0c;出現報錯&#xff0c;顯示沒有這個頭文件&#xff0c;顯然這是我們沒有導入相關的包&#xff0c;因此我首先嘗試了將antlr4的依賴源碼在…

Semantic human matting

1.introduction 數據集包括&#xff0c;時尚模特數據集&#xff0c;超過18.8w張模特圖&#xff0c;從中選出35311張圖片&#xff0c;DIM數據集&#xff0c;僅包含人類的圖像&#xff0c;202個前景圖像&#xff0c;背景來自coco數據集和互聯網&#xff0c;背景圖不含人類&#x…

python 基礎知識點(藍橋杯python科目個人復習計劃56)

今日復習內容&#xff1a;做題 例題1&#xff1a;最小的或運算 問題描述&#xff1a;給定整數a,b&#xff0c;求最小的整數x&#xff0c;滿足a|x b|x&#xff0c;其中|表示或運算。 輸入格式&#xff1a; 第一行包括兩個正整數a&#xff0c;b&#xff1b; 輸出格式&#…

小烏龜操作Git

1、選擇小烏龜作為git客戶端 最近使用idea來操作git的時候頻頻出現問題&#xff0c;要么是提交代碼的時候少了某些文件&#xff0c;導致克隆下來無法運行&#xff0c;要么是提交速度太慢。 反正是在idea中操作git體驗非常不好&#xff0c;所以決定來換一種方式來操作git。從網…

藍橋杯算法題匯總

一.線性表&#xff1a;鏈式 例題&#xff1a;旋轉鏈表 二.棧&#xff1a; 例題&#xff1a;行星碰撞問題 三.隊列 三.數組和矩陣 例題&#xff1a;

FPGA-VGA成像原理與時序

什么是VGA: VGA, Video Graphics Array。即視頻圖形陣列,具有分辨率高、顯示速率快、顏色豐富等優點。VGA接口不但是CRT顯示設備的標準接口,同樣也是LCD液晶顯示設備的標準接口,具有廣泛的應用范圍。在FGPA中,常廣泛用于圖像處理等領域。 VGA 顯示器成像原理 在 VGA 標準剛興…

C語言 vs Rust應該學習哪個?

C語言 vs Rust應該學習哪個&#xff1f; 在開始前我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「C語言的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“888”之后私信回復“888”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&am…

bun 文件類型

Typescript Bun 原生支持開箱即用的 TypeScript。所有文件在執行之前都由 Bun 的快速本機轉譯器即時轉譯。與其他構建工具類似&#xff0c;Bun 不執行類型檢查;它只是從文件中刪除類型注釋。 bun index.js bun index.jsx bun index.ts bun index.tsxBun 運行時行為的某些方面…

linux系統如何安裝nginx

首先下載nginx安裝包 wget -c http://nginx.org/download/nginx-1.23.1.tar.gz然后解壓安裝包 tar -zxvf nginx-1.23.1.tar.gz如果服務器沒有wget&#xff0c;可以安裝一下&#xff0c;有的話可以跳過 yum install -y wget 然后安裝相關依賴 yum install -y gcc-c zlib zl…