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