A:internal 修飾符起什麼作用?
internal 修飾符可以用於類型或成員,使用該修飾符聲明的類型或成員只能在同一程集內提供者的成員不能使用 internal 修飾符值得注意的是,如果為 internal 成員加上了 protected 修飾符,這時的存取層級為 internal 或 protected。只是看字面意思容易弄錯,許多人認為 internal protected 應該是“只有同一個程式集中的子類可以訪問”,但其實它表示“同一個程式集中的所有類,以及所有程式集中的子類都可以訪問”
樣本
Example05Lib 項目的 Class1
Codeusing System;using System.Collections.Generic;using System.Text; namespace Example05Lib{ public class Class1 { internal String strInternal = null; public String strPublic; internal protected String strInternalProtected = null; }}
結果
Example05Lib 項目的 Class2 類可以訪問到 Class1 的 strInternal 成員,當然也可以訪問到 strInternalProtected 成員,因為他們在同一個程式集裡
Example05 項目裡的 Class3 類無法訪問到 Class1 的 strInternal 成員,因為它們不在同一個程式集裡。但卻可以訪問到 strInternalProtected 成員,因為 Class3 是 Class1 的繼承類
Example05 項目的 Program 類既無法訪問到 Class1 的 strInternal 成員,也無法訪問到 strInternalProtected 成員,因為它們既不在同一個程式集裡也不存在繼承關係B
B:欄位和屬性問題
欄位:與類或對象相關聯的變數,一般訪問域為private屬性:欄位的封裝,通過訪問器(accessor)來進行讀寫操作,一般為public屬性是類提供給外部調用時用,的可以使用 對象.屬性 設定或讀取 一個值get{reture xxx;}表示可讀set{xxx = value;}表示可寫欄位就是類內部用的.儲存資料