Attribute/特性,筆記

/*

*特性

*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// DisAttribute 的摘要說明
/// </summary>
public class DisAttribute : Attribute
{
    private string _message;
    /// <summary>
    /// 描述
    /// </summary>
    public string Message
    {
        get { return _message; }
    }

    public DisAttribute(string message)
    {
        this._message = message;
    }
}


/*

*類

*/

using System;
using System.Collections.Generic;
using System.EnterpriseServices;
using System.Linq;
using System.Web;
using System.Web.DynamicData;


/// <summary>
/// User 的摘要說明
/// </summary>
[DisAttribute("User"),TableName("user"),Description("user")]
public class User
{
    private int? _id;
    /// <summary>
    /// Id
    /// </summary>
    [DisAttribute("主鍵")]
    public int? Id
    {
        get { return _id; }
        set { _id = value; }
    }


    private string _name;
    /// <summary>
    /// 名稱
    /// </summary>
    [DisAttribute("名稱")]
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
}


/*

*獲取

*/

 //獲取特性
        User u = new User();
        Type _t = u.GetType();
        foreach (Attribute a in _t.GetCustomAttributes(true))
        {
            if (a.GetType().ToString() == "DisAttribute")
            {
                DisAttribute _da = (DisAttribute)a;
                if (_da != null)
                {
                    Response.Write(_da.Message + "<br>");
                }
            }
        }
        //獲取所有屬性
        u.Id = 888888;
        u.Name = "陳奕迅";
        foreach (PropertyInfo item in _t.GetProperties())
        {
            //特性
            Attribute atr = item.GetCustomAttribute(typeof(DisAttribute));
            if (atr.GetType().ToString() == "DisAttribute")
            {
                DisAttribute _da = (DisAttribute)atr;
                if (_da != null)
                {
                    Response.Write(_da.Message + "<br>");
                }
            }
        }



發佈了66 篇原創文章 · 獲贊 17 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章