• 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。

  • 相关阅读:
    SpringBoot jar包不支持jsp
    Spring Boot 启动报错:LoggingFailureAnalysisReporter
    spring boot与spring mvc的区别是什么?
    解决配置JAVA_HOME JDK版本不变的问题
    Linux下修改Mysql的用户(root)的密码
    CentOS/Linux 解决 SSH 连接慢
    Linux查看进程的所有子进程和线程
    Linux命令之pstree
    使用awk批量杀进程的命令
    lucene 自定义评分
  • 原文地址:https://www.cnblogs.com/bincoding/p/7337245.html
Copyright © 2020-2023  润新知