WPF之CLR屬性 依賴屬性 附加屬性

2021-06-29 09:51:24 字數 700 閱讀 4392

clr支援靜態、例項、抽象和虛屬性。屬性可以使用任意可訪問性修飾符修飾。

屬性不能過載。也就是說不能定義名稱相同,型別不同的屬性。

定義屬性時,取決屬性的定義,編譯器在最後的託管程式集中生成以下兩項或三項:

*)代表屬性的get訪問器方法的乙個方法。僅在屬性定義了get訪問器方法時生成。

*) 代表屬性的set訪問器方法的乙個方法。僅在屬性定義了set訪問器方法時生成。

*)託管程式集元資料中的乙個屬性定義。這一項是肯定要生成的。

屬性和字段的比較:

1) 屬性可以是唯讀或只寫的,字段訪問確總是可讀和可寫。如果定義乙個屬性,最好同時為它提供get和set訪問器方法。

2) 乙個屬性方法可能丟擲異常;字段訪問永遠不會丟擲異常。

3) 屬性不能作為out或ref引數傳給方法;欄位卻可以。

4)屬性方法可能花費較長時間執行;欄位的訪問總是立即完成的。

5)如果連續多次呼叫,屬性方法每次都可能返回乙個不同的值;而字段每次呼叫都返回相同的值。

6)屬性方法可能造成明顯的side effect(指訪問屬性時,除了單純的設定或獲取屬性,還會造成物件狀態的改變);字段訪問永遠不會。

7)屬性方法可能需要額外的記憶體,或者返回乙個不正確的引用,指向不屬於物件狀態一部分的某個東西,這樣一來,對返回物件的修改就作用不到原始物件身上了。相反,查詢字段返回的總是正確的引用,它指向的東西保證是原始物件狀態的一部分。

wpf 依賴屬性和附加屬性

原文 wpf 依賴屬性和附加屬性 1 依賴屬性 解釋 依賴屬性是配合binding出現的產物,功能主要是配合binding。作用 一 當自定義usercontrol時,需要與宿主 父窗體 雙向繫結值時,用到依賴屬性。2 附加屬性 解釋 附加屬性是配合控制項或自定義型別出現的產物 作用 1 主要是擴充...

wpf 依賴屬性和附加屬性

1 依賴屬性 解釋 依賴屬性是配合binding出現的產物,功能主要是配合binding。作用 一 當自定義usercontrol時,需要與宿主 父窗體 雙向繫結值時,用到依賴屬性。2 附加屬性 解釋 附加屬性是配合控制項或自定義型別出現的產物 作用 1 主要是擴充套件控制項時用的較多,比如擴充套件...

WPF 依賴屬性和附加屬性

依賴屬性 依賴屬性就是自己沒有值,通過binding從資料來源獲得值,就是依賴在別人身上,擁有依賴屬性的物件稱為依賴物件。依賴屬性的值存在 在wpf執行時,維護了乙個全域性的hashtable訪問依賴屬性的值。二 附加屬性 附加屬性就是自己沒有這個屬性,在某些上下文中需要就被附加上去。比如textb...