voidConvertproject () {List<BaseProjectConverter> convertors =NewList<baseprojectconverter>(); Assembly archiverassembly= This. GetType (). Assembly; foreach(Type typeincharchiverassembly.gettypes ()) { if(Type. IsSubclassOf (typeof(Baseprojectconverter))) Whether it is a subclass convertors. ADD (Activator.CreateInstance (type) asbaseprojectconverter); } if(CurrentVersion >Version) { for(inti =0; I < Convertors. Count; i++) {baseprojectconverter conv=Convertors[i]; if(CONV. Acceptedversion = = Version && conv. Resultversion <=CurrentVersion) {conv. Convert ( This); Convertors. RemoveAt (i); I=0; } } } Else { for(inti =0; I < Convertors. Count; i++) {baseprojectconverter conv=Convertors[i]; if(CONV. Resultversion = = CurrentVersion && conv. Acceptedversion >=Version) {conv. Convertback ( This); Convertors. RemoveAt (i); I=0; } } } }
C # Configuration Upgrade