static ValueConvertor() { _convertorHandler = new Dictionary <string, Func <string, object> >(12) { { typeof(string).Name, (valueStr) => valueStr }, { typeof(int).Name, (valueStr) => int.Parse(valueStr) }, { typeof(uint).Name, (valueStr) => uint.Parse(valueStr) }, { typeof(short).Name, (valueStr) => short.Parse(valueStr) }, { typeof(ushort).Name, (valueStr) => ushort.Parse(valueStr) }, { typeof(long).Name, (valueStr) => long.Parse(valueStr) }, { typeof(ulong).Name, (valueStr) => ulong.Parse(valueStr) }, { typeof(double).Name, (valueStr) => double.Parse(valueStr) }, { typeof(byte).Name, (valueStr) => byte.Parse(valueStr) }, { typeof(char).Name, (valueStr) => char.Parse(valueStr) }, { typeof(bool).Name, (valueStr) => bool.Parse(valueStr) }, { typeof(DateTime).Name, (valueStr) => DateTime.Parse(valueStr) } }; #region 记录 IComInterfaceManager _interfaceManager = TestflowRunner.GetInstance().ComInterfaceManager; IComInterfaceDescription comDescription = _interfaceManager.GetComInterfaceByName("mscorlib"); _valueTypes = new HashSet <ITypeData>(); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Boolean"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Double"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Single"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int64"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("UInt64"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int32"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int16"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("UInt16"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Char"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Byte"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("String"))); #endregion }
private void RefreshUsedAssemblies(IAssemblyInfoCollection assemblies, HashSet <string> usedAssembly) { for (int i = assemblies.Count - 1; i >= 0; i++) { if (usedAssembly.Contains(assemblies[i].AssemblyName)) { continue; } assemblies.RemoveAt(i); } foreach (string assemblyName in usedAssembly) { IAssemblyInfo assemblyInfo = assemblies.FirstOrDefault(item => item.AssemblyName.Equals(assemblyName)); if (null != assemblyInfo) { return; } assemblyInfo = _comInterfaceManager.GetComInterfaceByName(assemblyName)?.Assembly; if (null == assemblyInfo) { ILogService logService = TestflowRunner.GetInstance().LogService; logService.Print(LogLevel.Error, CommonConst.PlatformLogSession, 0, $"Unloaded assembly '{assemblyName}' used."); I18N i18N = I18N.GetInstance(Constants.I18nName); throw new TestflowDataException(ModuleErrorCode.TypeDataError, i18N.GetFStr("InvalidAssemblyUsed", assemblyName)); } assemblies.Add(assemblyInfo); } }
static TypeChecker() { IComInterfaceManager _interfaceManager = TestflowRunner.GetInstance().ComInterfaceManager; IComInterfaceDescription comDescription = _interfaceManager.GetComInterfaceByName("mscorlib"); _valueTypes = new HashSet <ITypeData>(); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Boolean"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Double"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Single"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int64"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("UInt64"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int32"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Int16"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("UInt16"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Char"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("Byte"))); _valueTypes.Add(comDescription.VariableTypes.FirstOrDefault(item => item.Name.Equals("String"))); }