反射描述了在运行过程中检查和处理程序元素的功能。

 

首先先了解下特性:

     class Program
    {
        private string myName;
        /// <summary>
        /// 第一个参数传给构造函数,后面参数都是属性或者字段
        /// </summary>
        [myFieldName("jiangzhen",A="abc")]
        public string MyName {
            get
            {
                return myName;
            }
        }

        static void Main(string[] args)
        {
            Program p = new Program();
        }
    }
    /// <summary>
    /// AttributeUsage是一个元特性(因为它只能应用于其他特性上)
    /// </summary>
    /// AllowMultiple表示是否可以将特性多次应用到一个元素上
    /// inherited表示特性应用类的子类也起作用
    [AttributeUsage(AttributeTargets.Property|AttributeTargets.Field , AllowMultiple = false, Inherited = false)]
    public class myFieldNameAttribute : Attribute
    {
        private string name;
        public myFieldNameAttribute(string name)
        {
            this.name = name;
        }
        public string A;
    }
稍微了解了一些反射原理,为插件尝试做准备,先占个位置回头研究。
posted on 2010-03-13 15:36  江振  阅读(190)  评论(0)    收藏  举报