C#中Attribute和Property


XAML是XML派生而來的語言,所以很多XML中的概念在XAML中是通用的。
為了表示同類標簽中的某個標簽與眾不同,可以給它的特征(Attribute)賦值,為特征值賦值的語法如下:
非空標簽:<Tag Attribute1=Value1 Attribute2=Value2>Content</Tag>
空標簽:<Tag Attribute1=Value1 Attribute2=Value2>

在這里,需要辨別一下Attribute和Property。這兩個詞都可以翻譯為屬性,但是表達的不是一個層面上的東西。
Property屬於面向對象理論范疇,在使用面向對象思想編程的時候,常常需要對客觀事物進行抽象,再把抽象的結果封裝成磊,類中用來表示事物狀態的成員就是Property。比如汽車類中,汽車的Property包括長度、寬度、高度、重量等。總而言之,Property是針對對象而言的。
Attribute則是編程語言文法層面的東西。比如有兩個同類的語法元素A和B,為了表示A和B不完全相同或者A與B在用法上有些區別,這時候就要正對A和B加一些Attribute。也就是說。Attribute至於語言層面上的東西相關,與抽象出來的對象沒什么關系。因為Attribute是為了表示“區分”的。所以把它翻譯為“特征”。

XAML是一種“聲明”式語言,當你見到一個標簽,就意味着聲明了一個對象,對象之間的層級關系要么是並列、要么是包含,全部體現在標簽的關系上。有的時候Attribute和Property相對應,比如如下的代碼。

x:Class="WpfApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/xaml"
Title="Windows1" Height="300" Width="300"


其中,Title、Height和Width一看就知道是與Window對象的Property對應的,中間兩行xmlns則是在聲明名稱空間,最上面一行是在使用名為CLass的Attribute。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM