Esempio n. 1
0
 public static void Excute()
 {
     Type type  = GetType("Syntax.Kiba");
     Kiba kiba  = (Kiba)Activator.CreateInstance(type);
     Type type2 = GetType2("Syntax.Kiba");
     Kiba kiba2 = (Kiba)Activator.CreateInstance(type2);
 }
Esempio n. 2
0
        public void ExcuteKibaAttribute()
        {
            Kiba kiba = new Kiba();

            kiba.ClearName   = "Kiba518";
            kiba.NoClearName = "Kiba518";
            kiba.NormalName  = "Kiba518";
            ClearKibaAttribute(kiba);
            Console.WriteLine(kiba.ClearName);
            Console.WriteLine(kiba.NoClearName);
            Console.WriteLine(kiba.NormalName);
        }
Esempio n. 3
0
        public void ClearKibaAttribute(Kiba kiba)
        {
            List <PropertyInfo> plist = typeof(Kiba).GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public).ToList();//只获取Public的属性

            foreach (PropertyInfo pinfo in plist)
            {
                var attrs = pinfo.GetCustomAttributes(typeof(KibaAttribute), false);
                if (null != attrs && attrs.Length > 0)
                {
                    var des = ((KibaAttribute)attrs[0]).Description;
                    if (des == "Clear")
                    {
                        pinfo.SetValue(kiba, null);
                    }
                }
            }
        }