如果您想要Get屬性上的和 Set 程式具有不同的存取層級,則可以在語句中使用Property更寬鬆的層級,以及在 或 Get 語句中使用Set更嚴格的層級。 當您希望程式代碼的某些部分能夠取得屬性的值,以及程式代碼的某些其他部分能夠變更值時,您會在屬性上使用混合存取層級。
如需存取層級的詳細資訊,請參閱 Visual Basic中的存取層級。
若要宣告具有混合存取層級的屬性
以一般方式宣告 屬性,並在語句中
Public指定較不嚴格的存取層級(例如Property)。宣告
Get或Set程式時,需指定更嚴格的存取層級,例如Friend。請勿在另一個屬性程式上指定存取層級。 它會假設語句中宣告的
Property存取層級。 您只能限制其中一個屬性程式的存取。Public Class employee Private salaryValue As Double Protected Property salary() As Double Get Return salaryValue End Get Private Set(ByVal value As Double) salaryValue = value End Set End Property End Class在上述範例中,
Get程式具有與屬性本身相同的Protected存取權,而Set程式具有Private存取權。 從employee衍生的 類別可以讀取salary值,但只有employee類別可以設定該值。