C# attribute用法

貼代碼

using System;
using System.Reflection;

namespace my_attribute
{
    [AttributeUsage(AttributeTargets.Class
        | AttributeTargets.Method,
        AllowMultiple = true)]
    public class HelpAttribute : System.Attribute
    {
        public readonly string url;
        private string topic;
        public string Topic
        {
            get
            {
                return topic;
            }
            set
            {
                topic = value;
            }
        }
        public HelpAttribute(string url)
        {
            this.url = url;
        }
    }
    [HelpAttribute("https://msvc/MyClassInfo", Topic = "Test"),
        Help("https://my.com/about/class")]
    class MyClass
    {
        [Help("http;//my.com/about/method")]
        public void MyMethod()
        {
            return;
        }
    }
    class Program
    {
        static void Main()
        {
            Type myType = typeof(MyClass);
            object[] attributes = myType.GetCustomAttributes(false);
            for (int i = 0; i < attributes.Length; i++)
                PrintAttributeInfo(attributes[i]);
            MemberInfo[] myMembers = myType.GetMembers();
            for(int i=0;i<myMembers.Length;i++)
            {
                Console.WriteLine("\nNumber {0}: ", myMembers[i]);
                object[] myAttributes = myMembers[i].GetCustomAttributes(false);
                for (int j = 0; j < myAttributes.Length; j++)
                    PrintAttributeInfo(myAttributes[j]);
            }
        }
        static void PrintAttributeInfo(object attr)
        {
            if(attr is HelpAttribute)
            {
                HelpAttribute attrh = (HelpAttribute)attr;
                Console.WriteLine("------Url:" + attrh.url + " topic:" + attrh.Topic);
            }
        }
    }
    
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容