程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 修飾符

C# 修飾符

編輯:C#入門知識

C# 修飾符


修飾符用於限定類型以及類型成員的申明,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:抽象類。指示一個類只能作為其它類的基類。 不能被實例化 new

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

成員修飾符:

abstract:指示該方法或屬性沒有實現。繼承所在類的派生類 必須重寫此方法

sealed:密封方法。可以防止在派生類中對該方法的override(重載)。不是類的每個成員方法都可以作為密封方法密封方法,必須對基類的虛方法進行重載,提供具體的實現方法。所以,在方法的聲明中,sealed修飾符總是和override修飾符同時使用。

delegate:委托。用來定義一個函數指針。C#中的事件驅動是基於delegate + event的。

const:指定該成員的值只讀不允許修改。

event:聲明一個事件。

extern:指示方法在外部實現。

override:重寫。對由基類繼承成員的新實現。

readonly:指示一個域只能在聲明時以及相同類的內部被賦值。

static:指示一個成員屬於類型本身,而不是屬於特定的對象。即在定義後可不經實例化,就可使用。

virtual:指示一個方法或存取器的實現可以在繼承類中被覆蓋。

new:在派生類中隱藏指定的基類成員,從而實現重寫的功能。 若要隱藏繼承類的成員,請使用相同名稱在派生類中聲明該成員,並用 new 修飾符修飾它。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved