C# 修飾符

來源:互聯網
上載者:User

標籤:

修飾符用於限定類型以及類型成員的申明,C#中的修飾符按功能可分為四部分:屬性修飾符,存取修飾符,類修飾符和成員修飾符。 屬性修飾符:[Serializable]:按值將對象封送到遠程伺服器。在按值封送對象時,就會建立一個該對象的副本,並將其序列化傳送到伺服器。 任何對該對象的方法調用都是在伺服器上進行的。 [STAThread]:是Single-Threaded Apartment單線程套間的意思,是一種執行緒模式(線程模式用於處理組件在多線程的環境裡並行與並互的方式),套間線程(STAThread)模式中介面跨線程傳遞必須被調度(Marshal),不調度直傳肯定會失敗!而MTA或FreeThread模式中的介面可以不經調度直接傳遞。這種調度在特定的環境中非常影響效能(可有幾百倍之差)。如VB裡只支援STAThread模式。FreeThread模式的組件會在裡面表現成和跨進程一樣慢!線程模式是微軟的COM基礎中的極其重要的概念。一定要吃透![MTAThread]:是MultiThreaded Apartment多線程套間的意思,同上也是一種執行緒模式。存取修飾符:public:存取不受限制。private:只有包含該成員的類可以存取。internal:只有當前工程可以存取。引用dll後也是無法顯示的protected:只有包含該成員的類以及衍生類別可以存取。方法使用此修飾符後 必須繼承此方法所屬的類。只能使用衍生類別 調用
如:
class BaseTest        {            public int a = 10;            protected int b = 2;        }        class ChildTest : BaseTest        {            int c;            int d;            static void Main(string[] args)            {                BaseTest basetest = new BaseTest();                ChildTest childTest = new ChildTest();                Console.WriteLine(childTest.b);            }        }類修飾符:abstract:抽象類別。指示一個類只能作為其它類的基類。 不能被執行個體化 newsealed:密封類。指示一個類不能被繼承。理所當然,密封類不能同時又是抽象類別,因為抽象總是希望被繼承的。成員修飾符:abstract:指示該方法或屬性沒有實現。繼承所在類的衍生類別 必須重寫此方法sealed:密封方法。可以防止在衍生類別中對該方法的override(重載)。不是類的每個成員方法都可以作為密封方法密封方法,必須對基類的虛方法進行重載,提供具體的實現方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時使用。delegate:委託。用來定義一個函數指標。C#中的事件驅動是基於delegate + event的。const:指定該成員的值唯讀不允許修改。event:聲明一個事件。extern:指示方法在外部實現。override:重寫。對由基類繼承成員的新實現。readonly:指示一個域只能在聲明時以及相同類的內部被賦值。static:指示一個成員屬於類型本身,而不是屬於特定的對象。即在定義後可不經執行個體化,就可使用。virtual:指示一個方法或存取器的實現可以在繼承類中被覆蓋。new:在衍生類別中隱藏指定的基類成員,從而實現重寫的功能。 若要隱藏繼承類的成員,請使用相同名稱在衍生類別中聲明該成員,並用 new 修飾符修飾它。

C# 修飾符

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.