zoukankan      html  css  js  c++  java
  • (72)C# 特性

     一、C#自带特性

    1.AttributeUsage特性(自定义特性的特性)

    [AttributeUsage(validon,AllowMultiple=allowmultiple,Inherited=inherited)]

    (1)validon表示 特性可以提供给什么类型

    All  可以对任何应用程序元素应用属性
    Assembly  可以对程序集应用属性
    Class  可以对类应用属性
    Constructor  可以对构造函数应用属性
    Delegate   可以对委托应用属性
    Enum  可以对枚举应用属性
    Event  可以对事件应用属性
    Field  可以对字段应用属性
    GenericParameter  可以对泛型参数应用属性 目前,此属性仅可应用于 C#、Microsoft 中间语言 (MSIL) 和已发出的代码中
    Interface  可以对接口应用属性
    Method  可以对方法应用属性
    Module  可以对模块应用属性 Module 引用的是可移植可执行文件(.dll 或 .exe),而不是 Visual Basic 标准模块
    Parameter   可以对参数应用属性
    Property  可以对属性 (Property) 应用属性 (Attribute)
    ReturnValue  可以对返回值应用属性
    Struct  可以对结构应用属性,即值类型

    //表示该属性可以给类和方法用
    AttributeTargets.Class| AttributeTargets.Method

    (2)AllowMultiple 可选

    AllowMultiple = true 表示可以和其他特性叠加

    (3)Inherited 可选

    AllowMultiple = true 是否可以被继承

    2.Conditional特性

    调用的方式是否在debug或者release下执行

    class Program
        {
            static void Main(string[] args)
            {
                Program program = new Program();
                program.fuc();
            }
            //只有release下才执行
            //[Conditional("RELEASE")]
            //只有debug下才执行
            [Conditional("DEBUG")]
            void fuc()
            {
                Console.Write("OK");
            }
        }

    3.Obsolete

    标记方法过时

     还可以添加第二个参数,参数2是bool值

    参数2为true时,编译时直接报错,不允许编译,直接报错

     

    二、Attribute类

  • 相关阅读:
    ffmpeg mp3转ogg的命令
    四个很好的开源app项目
    iOS 开发者必不可少的 75 个工具
    几点iOS开发技巧
    100 Most Influential Books According to Stack Overflow
    iOS图形处理和性能(转)
    Objc的底层并发API(转)
    GCD CoreData 简化CoreData操作(转)
    微信扫一扫背后的秘密:基于运动估计的智能传图算法(转)
    Objective-C 的 API 设计(转)
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/12775138.html
Copyright © 2011-2022 走看看