命名空間和類(lèi)型都擁有成員。在實(shí)體開(kāi)始被引用時(shí),實(shí)體成員一般都可通過(guò)限定名稱(chēng)(qualified name)引入其中,通過(guò)標(biāo)記(token).
引出成員的名字。
類(lèi)型的成員既可在類(lèi)型聲明中聲明,也可從其基類(lèi)中繼承。當(dāng)一個(gè)類(lèi)型繼承自其基類(lèi)時(shí),所有基類(lèi)成員(除了實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)以及靜態(tài)構(gòu)造函數(shù))都將成為派生類(lèi)型的成員?;?lèi)成員的聲明可訪問(wèn)性并不控制成員是否可被繼承——繼承可拓展到除實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)之外的任意成員。然而。也有可能派生類(lèi)型無(wú)法訪問(wèn)到所繼承的成員,比方說(shuō)因?yàn)槠渎暶骺稍L問(wèn)性(第三章第 5.1 節(jié))或是因?yàn)槠渫ㄟ^(guò)類(lèi)型自身聲明隱藏(第三章第 7.1.2 節(jié))。
如果命名空間與類(lèi)型沒(méi)有閉包于一個(gè)命名空間,則它們將是全局命名空間(global namespace)的成員。這相當(dāng)于名字直接在全局聲明空間內(nèi)聲明了。
如果命名空間與類(lèi)型在一個(gè)命名空間內(nèi),那么命名空間和類(lèi)型將是這個(gè)外部命名空間的成員。這意味著名字直接在這個(gè)命名空間的聲明空間內(nèi)聲明了。
命名空間沒(méi)有訪問(wèn)限制(access restrictions)。不可以為命名空間聲明為 private、 protected 或 internal,命名空間永遠(yuǎn)是可公開(kāi)取得的(publicly accessible)。
結(jié)構(gòu)成員是結(jié)構(gòu)內(nèi)聲明的成員,以及直接繼承自結(jié)構(gòu)基類(lèi) System.ValueType
以及間接繼承自基類(lèi) object
的成員。
簡(jiǎn)單類(lèi)型的成員通過(guò)類(lèi)型別名(alias)直接對(duì)應(yīng)結(jié)構(gòu)類(lèi)型的成員:
sbyte 的成員是 System.SByte 結(jié)構(gòu)的成員;
byte 的成員是 System.Byte 結(jié)構(gòu)的成員;
short 的成員是 System.Int16 結(jié)構(gòu)的成員;
ushort 的成員是 System.UInt16 結(jié)構(gòu)的成員;
int 的成員是 System.Int32 結(jié)構(gòu)的成員;
uint 的成員是 System.UInt32 結(jié)構(gòu)的成員;
long 的成員是 System.Int64 結(jié)構(gòu)的成員;
ulong 的成員是 System.UInt64 結(jié)構(gòu)的成員;
char 的成員是 System.Char 結(jié)構(gòu)的成員;
float 的成員是 System.Single 結(jié)構(gòu)的成員;
double 的成員是 System.Double 結(jié)構(gòu)的成員;
decimal 的成員是 System.Decimal 結(jié)構(gòu)的成員;
枚舉內(nèi)的成員是枚舉聲明的常量以及直接繼承自枚舉基類(lèi) System.Enum
與間接繼承自基類(lèi) System.ValueType
和 object
的成員。
在一個(gè)類(lèi)中聲明的成員與繼承自基類(lèi)的成員都是這個(gè)類(lèi)的成員(除了沒(méi)有基類(lèi)的 object
類(lèi))。繼承自基類(lèi)的成員包括常量、字段、方法、屬性、事件、索引器、操作符以及基類(lèi)類(lèi)型,但不包括基類(lèi)的實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)。基類(lèi)成員的繼承并不關(guān)心它們的可訪問(wèn)性。
類(lèi)聲明可以包含常量、字段、方法、屬性、事件、索引器、操作符、實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)、靜態(tài)構(gòu)造函數(shù)和類(lèi)型。
object
和 string
的成員通過(guò)別名直接對(duì)應(yīng)它們的類(lèi)型:
object
的成員是 System.Object
類(lèi)的成員;
string
的成員是 System.String
類(lèi)的成員。接口成員聲明于接口及其所有基接口內(nèi)。嚴(yán)格來(lái)講,類(lèi) object
內(nèi)的成員不是任何接口的成員(見(jiàn)第十三章第二節(jié)),但通過(guò)接口類(lèi)型成員查找到類(lèi) object
的成員(第七章第四節(jié))。
數(shù)組成員繼承自類(lèi) System.Array
。
委托成員繼承自類(lèi) System.Delegate
。
更多建議: