zoukankan      html  css  js  c++  java
  • 天文般的Attribute

    #define Buged
    //C# 的宏定义必须出现在所有代码之前。当前只让 Buged 宏有效。
    using System;
    using System.Diagnostics; // 注意:这是为了使用包含在此名称空间中的ConditionalAttribute特性
    namespace Con_Attribute
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 虽然方法都被调用了,但只有符合条件的才会被执行!
                ToolKit.FunA();
                ToolKit.FunB();
                ToolKit.FunC();
                ToolKit.FunD();
            }
        }
        class ToolKit
        {
            [ConditionalAttribute("Li")] // Attribute名称的长记法
            [ConditionalAttribute("Buged")]
            public static void FunA()
            {
                Console.WriteLine("Created By Li, Buged.");
            }
            [Conditional("Li")] // Attribute名称的短记法
            [Conditional("NoBug")]
            public static void FunB()
            {
                Console.WriteLine("Created By Li, NoBug.");
            }
            [ConditionalAttribute("Zhang")]// Attribute名称的长记法
            [ConditionalAttribute("Buged")]
            public static void FunC()
            {
                Console.WriteLine("Created By Zhang, Buged.");
            }
            [Conditional("Zhang")] // Attribute名称的短记法
            [Conditional("NoBug")]
            public static void FunD()
            {
                Console.WriteLine("Created By Zhang, NoBug.");
            }
        }
    }
    


    看了一篇博客园朋友的博文,这里的运行结果为:

    Created By Li,Buged.

    Created By Zhang,Buged.

    官网解释为:表示自定义属性的基类  作为菜鸟的我,表示完全看不懂这个意思。

    首先,例如这一块

    [ConditionalAttribute("Buged")]
            public static void FunA()

    FunA有个Buged这个特性,这个特性是干嘛的?说是干嘛的获取还是不太对,我的理解是当FunA里有了这个特性后,我该怎么去使用它?需要不需要去调用?如果不调用,那这个特性的理解是怎样理解的?说调用,那程序中应该怎么调用这个特性。

    这个运行结果,也不太清楚它是咋得来的。后来查了几篇文章,都讲得比较笼统,没有给一个详细的解释,不明白之处,希望各位大神帮小弟解解惑。初学,望大家不要喷我

  • 相关阅读:
    [MFC]CImageList仅显示黑色的问题
    [hessdroid]Android下使用Hessian与Java服务端通讯的传值测试
    [MFC]Sqlite问题小记
    [MFC] FTP 遍历服务器目录文件卡住的问题
    ExtJs 备忘录(9)—— Ext常用属性、方法小结 [系列完]
    [MFC]托盘图标删除后不自动消失的问题
    RIL接听电话没有声音的问题 [ RIL_Answer | RIL_SetAudioDevices ]
    [Qt]Qt Creator汉化方法
    [C++]遍历可变参数 (va_list)
    [杀毒]删除U盘autorun.inf
  • 原文地址:https://www.cnblogs.com/colyn/p/3009620.html
Copyright © 2011-2022 走看看