zoukankan      html  css  js  c++  java
  • c#特性

    
    

    c#特性:
    特性(Attribute)是用于在运行时传递程序中的各种元素(比如类,方法,结构,枚举,组件等)的行为信息的声明标签。可以通过使用特性向程序添加声明性信息。一个声明性标签时通过放置在它它所应用的元素前面的方括号来描述的。

    
    

    特性(Attribute)用于添加元数据,如编译器指令和注释,描述,方法等其他信息。.Net框架提供了两种类型的特性:预定义特性和自定义特性。
    【一】 介绍
    在C#中的有三个重要的名词:字段,属性,特性。
    字段: 一般变量都是字段。 可以通过Type.GetField("name")获取
    如public string str;
    private int num;

    
    

    属性: 当使用了属性访问器get set的时候,我们称之为属性。通过Type.GetProperty("name")获取
    特性:下面我们就来重点说特性。
    特性是一切继承自Attribute的类。是一种可由用户自定义的修饰符。它不能通过new实例化。只能通过附着在类,struct或者变量前面通过 [构造函数] 实例化,如果有参数的话,就是[构造函数(参数)]。为附着体追加额外的信息。一般来说,特性不能影响程序本身,但它会被编译器编译到程序集(Assembly)的元数据(Metadata)里,比注释有更多的作用:
    1. 供编译器使用
    2. Unity识别,如导航菜单栏菜单项,自定义Inspector等。
    3. 做对程序本身的 功能

    
    

    【二】特性步骤
    1 得到type
    2 得到函数,字段,属性等的信息
    3 得到特性
    4 处理

    
    

    1 得到type
    通过 typeof(类) 或者 对象.GetType(), 或者Assembly.GetType("name")

    
    

    2.得到函数,字段,属性等的信息。注意只有public的才能获取。
    字段 FieldInfo通过 type.GetField("num");
    属性 PropertyInfo 通过 type.GetProperties());
    方法 MethodInfo 通过 type.GetMethods();

    
    

    3 得到特性
    Attribute.GetCustomAttributes(mInfo)

    
    

    4.处理

    简单来讲,特性可以为附着体增加额外信息。

     
  • 相关阅读:
    [HEOI2015]兔子与樱花
    Qt5——从零开始的Hello World教程(Qt Creator)
    qt利用QT designer构建第一个界面helloworld工程
    兆芯处理器的发展之路 从南北桥架构到开先KX-5000系列
    SPEC CPU 使用简介
    国产龙芯3A3000处理器评测:与英特尔差距明显
    测试
    【转载】ltp压力测试结果分析脚本
    H5开发基础之像素、分辨率、DPI、PPI
    【转载】分辨率和像素是什么关系?
  • 原文地址:https://www.cnblogs.com/0315cz/p/8601496.html
Copyright © 2011-2022 走看看