亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機(jī)器視覺培訓(xùn)

常州上位機(jī)軟件開發(fā)

常州工業(yè)機(jī)器人編程設(shè)計(jì)培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
自定義特性給屬性加個(gè)說明-常州上位機(jī)培訓(xùn),常州機(jī)器視覺培訓(xùn)
日期:2024-3-13 16:26:37人氣:  標(biāo)簽:常州上位機(jī)培訓(xùn) 常州機(jī)器視覺培訓(xùn)

前言

我們都知道,類是對象的抽象,主要包含屬性和方法,屬性是用來描述和反映對象特征的參數(shù),方法是用來描述對象的行為,那如果我想對類、屬性、方法做進(jìn)一步的描述呢?


這時(shí)候我們可以使用特性。


自定義特性

我們可以通過自定義特性,自由地實(shí)現(xiàn)對屬性方法的描述。


創(chuàng)建并使用自定義特性可以分為以下四個(gè)步驟:


1、聲明自定義特性:創(chuàng)建一個(gè)類,取名為CustomAttribute,必須以Attribute結(jié)束,并繼承System.Attribute類,同時(shí)可以加一些聲明,如下所示:


    /// <summary>

    /// 說明該類型只針對類和屬性有效

    /// </summary>

    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]

    public class CustomAttribute : Attribute

    {

    }

2、構(gòu)建自定義特性:自定義特性類本質(zhì)也是類,我們在自定義特性類里創(chuàng)建一些屬性,并創(chuàng)建一個(gè)構(gòu)造方法用于初始化,代碼如下:


    /// <summary>

    /// 說明該類型只針對類和屬性有效

    /// </summary>

    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]

    public class CustomAttribute : Attribute

    {

        /// <summary>

        /// 構(gòu)造方法初始化

        /// </summary>

        /// <param name="DisplayName"></param>

        /// <param name="DisplayWidth"></param>

        public CustomAttribute(string DisplayName, int DisplayWidth)

        {

            this.DisplayName = DisplayName;

            this.DisplayWidth = DisplayWidth;

        }

        /// <summary>

        /// 顯示名稱

        /// </summary>

        public string DisplayName { get; set; }

        /// <summary>

        /// 顯示寬度

        /// </summary>

        public int DisplayWidth { get; set; }


    }

3、應(yīng)用自定義特性:接下來就是如何使用了,我們重新創(chuàng)建一個(gè)實(shí)體類,在屬性前面加一段代碼,特性一般寫在中括號里。


    public class Points

    {

        [Custom("站點(diǎn)名稱", 100)]

        public string StationNo { get; set; }

        

        [Custom("P1數(shù)據(jù)名稱", 100)]

        public float TD_P1 { get; set; }

                

        [Custom("P2數(shù)據(jù)名稱", 100)]

        public float TD_P2 { get; set; }

    }

4、獲取自定義特性:創(chuàng)建自定義特性的目的還是在于獲取設(shè)置的數(shù)據(jù),這里我們通過反射來實(shí)現(xiàn),代碼如下:


            Type t = typeof(Points);


            foreach (PropertyInfo pi in t.GetProperties())

            {

                string propertyName = pi.Name;

                string displayName = pi.GetCustomAttribute<CustomAttribute>()?.DisplayName;

                int displayWidth = pi.GetCustomAttribute<CustomAttribute>().DisplayWidth;

                Console.WriteLine("屬性名稱:"+propertyName+";顯示名稱:"+displayName + ";顯示寬度:" + displayWidth);

            }

2.png

總結(jié)

以上就是自定義特性的使用,希望對大家有幫助。


至于在開發(fā)項(xiàng)目中如何使用,后面會(huì)以實(shí)際的一個(gè)應(yīng)用場景來說明。


本文網(wǎng)址:
下一篇:沒有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動(dòng)化設(shè)備有限公司 常州自動(dòng)化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場2號樓1409室
蘇ICP備14016686號-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区