通過基類找到所有繼承的子類
阿新 • • 發佈:2018-01-14
one etc ase sem assembly `` tor bsp ont
1 /// <summary> 2 /// 通過基類找到所有繼承的子類 3 /// </summary> 4 public void Info() 5 { 6 mConditions.Clear(); 7 mConConTypes.Clear(); 8 var types = Assembly.GetCallingAssembly().GetTypes(); 9 var aType = typeof(BaseCondition); 10 foreach (vartype in types) 11 { 12 var baseType = type.BaseType; //獲取基類 13 while (baseType != null) //獲取所有基類 14 { 15 if (baseType.Name == aType.Name) 16 { 17 Type objtype = Type.GetType(type.FullName, true); 18 objectobj = Activator.CreateInstance(objtype); 19 if (obj != null) 20 { 21 BaseCondition info = obj as BaseCondition; 22 if (info.ConType != ConditionType.None) 23 { 24 SetCondition(info);25 } 26 } 27 break; 28 } 29 else 30 { 31 baseType = baseType.BaseType; 32 } 33 } 34 } 35 } 36 ```
通過基類找到所有繼承的子類