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.处理

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

     
  • 相关阅读:
    iOS中的UISearchBar
    iOS中的UIDatePicker 日期选择器
    iOS中的 深拷贝和浅拷贝
    iOS中的定时器实现图片的轮播
    iOS Crash文件的解析(一)
    iOS中的UIToolBar
    iOS中的瀑布流(RootCollectionViewControlle)
    iOS中NSThread(主线程,子线程)
    iOS中的串行,并行,分组,一次,障碍,延迟,反复执行(GCD)
    iOS中的动画
  • 原文地址:https://www.cnblogs.com/0315cz/p/8601496.html
Copyright © 2011-2022 走看看