中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中的Attribute怎么用

發布時間:2022-05-12 10:47:18 來源:億速云 閱讀:133 作者:iii 欄目:開發技術

這篇文章主要介紹“C#中的Attribute怎么用”,在日常操作中,相信很多人在C#中的Attribute怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#中的Attribute怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、創建屬性

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor, AllowMultiple = true, Inherited = true)]
//AttributeTargets:屬性應用到的目標類型。AllowMultiple:是否允許一個元素應用多個此屬性。Inherited:屬性能否有派生類繼承。
public class CodeStatusAttribute : Attribute
{
    private string status;
    public CodeStatusAttribute(string status)//構造函數為位置參數
    {
        this.status = status;
    }
    public string Tester { set; get; }//屬性和公共字段為命名參數
    public string Coder { set; get; }
    
    public override string ToString()
    {
        return status;
    }
}

二、應用屬性

//1、使用單個屬性
[CodeStatus("a版")]
public class Tringe
{ }

//2、使用多個屬性
[CodeStatus("b版", Coder = "小李")]
[CodeStatus("b版", Coder = "小王")]
//也可以[CodeStatus("aa",Coder="小李"),CodeStatus("aa",Coder="小王")]
public class Square
{ }

//3、使用位置參數和命名參數
//type表示此屬性與什么元素關聯,可能有:assembly,field,method,param,property,return,moudule,event,type等。。
[type: CodeStatus("最終版", Coder = "小李", Tester = "老李")]
public class Circle
{
    [CodeStatus("最終版", Coder = "小李", Tester = "老李")]
    public Circle()
    {

    }
}

三、反射屬性

//1、獲取類上的屬性。
Type t = typeof(Circle);
Attribute[] attArr = Attribute.GetCustomAttributes(t, typeof(CodeStatusAttribute));
//或
object[] attArr1 = t.GetCustomAttributes(typeof(CodeStatusAttribute), true);

//2、獲取成員上屬性
Attribute[] attArr3 = t.GetConstructors()[0].GetCustomAttributes().ToArray();//構造函數,獲取字段GetField("..")

//3、遍歷
foreach (Attribute attr in attArr3)
{
    CodeStatusAttribute item = (CodeStatusAttribute)attr;
    Console.Write(item.ToString() + item.Coder + item.Tester);
}

四、Net內置屬性

[Condeitonal] //條件控制
[Obsolete] //廢棄屬性
[Serializable]//可序列化屬性
[AssemblyDelaySign] //程序集延遲簽名

到此,關于“C#中的Attribute怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天津市| 黔西| 琼海市| 宿迁市| 宜春市| 旬邑县| 工布江达县| 乌鲁木齐市| 类乌齐县| 万盛区| 西城区| 准格尔旗| 台湾省| 新密市| 托克逊县| 宣威市| 咸丰县| 达日县| 孝昌县| 玉田县| 潢川县| 瓮安县| 故城县| 诸暨市| 南召县| 遂川县| 冷水江市| 泸溪县| 新安县| 海丰县| 芜湖县| 松原市| 龙游县| 清苑县| 花莲市| 禄丰县| 谷城县| 观塘区| 南召县| 呼和浩特市| 曲水县|