• C#中常用的Attribute搜集(刚开始...)


    ObsoleteAttribute

    名字空间: System

    函数已经不推荐使用

    FlagsAttribute

    名字空间: System

    [FlagsAttribute]
    enum class MultiHue : short
    {
       Black = 0,
       Red = 1,
       Green = 2,
       Blue = 4
    };
    

    All possible combinations of values of an Enum with FlagsAttribute:

    0 - Black 1 - Red 2 - Green 3 - Red, Green 4 - Blue 5 - Red, Blue 6 - Green, Blue 7 - Red, Green, Blue 8 - 8

    SerializableAttribute, NonSerializedAttribute

    名字空间: System

    标记一个字段是否被序列化

    DllImportAttribute

    Win32 API 函数

       1:  [DllImport("User32.dll", EntryPoint="MessageBox")]
       2:  static extern int MessageDialog(int hWnd, string msg, string caption, int msgType);

    WebMethod

    名字空间: System.Web.Services

    WebService方法, 有6个属性, 分别是 BufferResponse, CacheDuration, Description, EnableSession, MessageName, TransactionOption

       1:  [WebMethod(TransactionOption=TransactionOption.RequiresNew) ]
       2:  public void Transfer(long Amount, long AcctNumberTo, long AcctNumberFrom) 
       3:  {
       4:  }

    DataObjectAttribute, DataObjectFieldAttribute, DataObjectMethodAttribute

    名字空间: System.ComponentModel

    [DataObjectAttribute]
    public class NorthwindData
    {  
      public NorthwindData() {}
    
      private int _employeeID;
      [DataObjectFieldAttribute(true, true, false)]
      public int EmployeeID
      {
        get { return _employeeID; }
        set { _employeeID = value; }
      }
    
    
      [DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
      public static IEnumerable GetAllEmployees()
      {
        AccessDataSource ads = new AccessDataSource();
        ads.DataSourceMode = SqlDataSourceMode.DataReader;
        ads.DataFile = "~//App_Data//Northwind.mdb";
        ads.SelectCommand = "SELECT EmployeeID,FirstName,LastName FROM Employees";
        return ads.Select(DataSourceSelectArguments.Empty);
      }
    
      // Delete the Employee by ID.
      [DataObjectMethodAttribute(DataObjectMethodType.Delete, true)]
      public void DeleteEmployeeByID(int employeeID)
      {
        throw new Exception("The value passed to the delete method is "
                             + employeeID.ToString());
      }
    }

    AmbientValueAttribute

    名字空间: System.ComponentModel

    标记一个属性是否从周围环境获得值, 比如: 一个空间的背景色自动为其父空间的背景色

    BindableAttribute

    名字空间: System.ComponentModel

    标记一个属性是否可以被绑定

    [Bindable(true)]
     public int MyProperty {
        get {
           // Insert code here.
           return 0;
        }
        set {
           // Insert code here.
        }
     }

    BrowsableAttribute, CategoryAttribute, DisplayNameAttribute,DescriptionAttribute

    DefaultEventAttribute, DefaultPropertyAttribute, DefaultValueAttribute,

    DesignerAttribute, DesignerCategoryAttribute, DesignTimeVisibleAttribute, DesignOnlyAttribute

    名字空间: System.ComponentModel

    设计一个GUI组件时, 标记属性, 事件, 方法在设计器如何显示.

    参见: Developing Custom Data-Bound Web Server Controls for ASP.NET 2.0

    ConditionalAttribute

    名字空间: System.Diagnostics

    class Test
    {
        static void Main()
        {               
            Console.WriteLine("Calling Method1");
            Method1(3);
            Console.WriteLine("Calling Method2");
            Method2();
    
            Console.WriteLine("Using the Debug class");
            Debug.Listeners.Add(new ConsoleTraceListener());
            Debug.WriteLine("DEBUG is defined");
        }
    
        [Conditional("CONDITION1")]
        public static void Method1(int x)
        {
            Console.WriteLine("CONDITION1 is defined");
        }
    
        [Conditional("CONDITION1"), Conditional("Condition2")]  
        public static void Method2()
        {
            Console.WriteLine("CONDITION1 or Condition2 is defined");
        }
    }
    

    /*
    When compiled as shown, the application (named ConsoleApp)
    produces the following output.

    csc ConsoleApp.cs
    Calling Method1
    Calling Method2
    Using the Debug class

    csc /define:CONDITION1 ConsoleApp.cs
    Calling Method1
    CONDITION1 is defined
    Calling Method2
    CONDITION1 or Condition2 is defined
    Using the Debug class

    csc /define:Condition2 ConsoleApp.cs
    Calling Method1
    Calling Method2
    CONDITION1 or Condition2 is defined
    Using the Debug class

    csc /define:DEBUG ConsoleApp.cs
    Calling Method1
    Calling Method2
    Using the Debug class
    DEBUG is defined
    */

    DebuggerBrowserableAttribute, DebuggerDisplayAttribute, DebuggerHiddenAttribute, MonitoringDescriptionAttribute

    DebuggerNonUserCodeAttribute

    DebuggerStepperBoundaryAttribute

    DebuggerStepThroughAttribute

    DebuggerTypeProxyAttribute

    SwitchAttribute

    SwitchLevelAttribute

  • 相关阅读:
    168. 吹气球
    395. 硬币排成线 II
    436. 最大正方形
    362. 滑动窗口的最大值(单调队列)
    python-网络安全编程第二天(文件操作)
    重闯Sqli-labs关卡第一天(1-4关)
    python-网络安全编程第一天(requests模块)
    PHP代码审计入门(SQL注入漏洞挖掘基础)
    PHP代码审计入门(敏感函数回溯参数过程)
    PHP核心配置基础解读
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1211868.html
Copyright © 2020-2023  润新知