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); }
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); }
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); } } } }