色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲

常州機器視覺培訓

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

常州工業(yè)機器人編程設計培訓

常州PLC培訓

常州PLC

常州PLC編程培訓

常州電工培訓

常州和訊plc培訓中心歡迎您!
當前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
自定義特性給屬性加個說明-常州機器視覺學習,常州上位機學習
日期:2024-2-1 16:34:13人氣:  標簽:常州機器視覺學習 常州上位機學習

前言

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

這時候我們可以使用特性。

自定義特性

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

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

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

    /// <summary>

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

    /// </summary>

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

    public class CustomAttribute : Attribute

    {

    }

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


    /// <summary>

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

    /// </summary>

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

    public class CustomAttribute : Attribute

    {

        /// <summary>

        /// 構造方法初始化

        /// </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、應用自定義特性:接下來就是如何使用了,我們重新創(chuàng)建一個實體類,在屬性前面加一段代碼,特性一般寫在中括號里。


    public class Points

    {

        [Custom("站點名稱", 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ù)據(jù),這里我們通過反射來實現(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);

            }

18.png

總結

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

至于在開發(fā)項目中如何使用,后面會以實際的一個應用場景來說明。

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

相關信息:
版權所有 CopyRight 2006-2017 江蘇和訊自動化設備有限公司 常州自動化培訓中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務廣場2號樓1409室
蘇ICP備14016686號-2 技術支持:常州山水網(wǎng)絡
本站關鍵詞:常州PLC培訓 常州PLC編程培訓 常州PLC編程 常州PLC培訓班 網(wǎng)站地圖 網(wǎng)站標簽
在線與我們取得聯(lián)系
色婷婷AV无码久久精品,久久天天躁狠狠躁夜夜97,羞羞麻豆国产精品1区2区3区,啪影院免费线观看视频,思思久久er99精品亚洲