public void AddParam() { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); ParameterInfo info = infos.Last(); Type type = info.ParameterType.GetElementType(); int parNum = _parameters.Length - infos.Length + 2; string oldParName = _paramsNames[_methodIndex].Last(); string prefix = oldParName.Split('[')[0]; string parName = prefix + "[" + parNum + "]"; ParameterVM toAdd = new ParameterVM(parName, type, null, false, true); List <string> parNamesList = _paramsNames[_methodIndex].ToList(); parNamesList.Add(parName); _paramsNames[_methodIndex] = parNamesList.ToArray(); List <ParameterVM> parList = _parameters.ToList(); parList.Add(toAdd); _parameters = parList.ToArray(); OnPropertyChanged("Parameters"); }
private void PopulateParams() { if (_candidates != null) { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); _parameters = new ParameterVM[infos.Length - 1]; for (int i = 1; i < infos.Length; i++) { Type type = infos[i].ParameterType; bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]); if (paramsArray) { _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true); } else { _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type); } } } else // Composite Gate { _parameters = new ParameterVM[1]; _parameters[0] = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register)); } }
// only for design public OutputGridVM() { _selectedRegister = new ParameterVM("register", typeof(QuantumParser.Register)); }
private void PopulateParams() { if (_allParametrics.ContainsKey(_name)) { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); List<ParameterVM> parList = new List<ParameterVM>(); for (int i = 1; i < infos.Length; i++) { Type type = infos[i].ParameterType; bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]); object value = null; if (_paramsValues[_methodIndex] != null) { if (paramsArray) { IEnumerable pars = _paramsValues[_methodIndex][i] as IEnumerable; int parNum = 0; bool first = true; foreach (var item in pars) { string oldParName = _paramsNames[_methodIndex][i]; string prefix = oldParName.Split('[')[0]; string parName = prefix + "[" + parNum + "]"; parNum++; ParameterVM toAdd = new ParameterVM(parName, type.GetElementType(), item, first, true); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); first = false; } } else { value = _paramsValues[_methodIndex][i]; ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type, value); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } } else { if (paramsArray) { ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } else { ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } } } _parameters = parList.ToArray(); } else // Composite Gate { object value = _paramsValues[0][1]; _parameters = new ParameterVM[1]; ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register), value); toAdd.PropertyChanged += parameter_PropertyChanged; _parameters[0] = toAdd; } }
public void AddParam() { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); ParameterInfo info = infos.Last(); Type type = info.ParameterType.GetElementType(); int parNum = _parameters.Length - infos.Length + 2; string oldParName = _paramsNames[_methodIndex].Last(); string prefix = oldParName.Split('[')[0]; string parName = prefix + "[" + parNum + "]"; ParameterVM toAdd = new ParameterVM(parName, type, null, false, true); toAdd.PropertyChanged += parameter_PropertyChanged; List<string> parNamesList = _paramsNames[_methodIndex].ToList(); parNamesList.Add(parName); _paramsNames[_methodIndex] = parNamesList.ToArray(); List<ParameterVM> parList = _parameters.ToList(); parList.Add(toAdd); _parameters = parList.ToArray(); OnPropertyChanged("Parameters"); }
private void PopulateParams() { if (_allParametrics.ContainsKey(_name)) { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); List <ParameterVM> parList = new List <ParameterVM>(); for (int i = 1; i < infos.Length; i++) { Type type = infos[i].ParameterType; bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]); object value = null; if (_paramsValues[_methodIndex] != null) { if (paramsArray) { IEnumerable pars = _paramsValues[_methodIndex][i] as IEnumerable; int parNum = 0; bool first = true; foreach (var item in pars) { string oldParName = _paramsNames[_methodIndex][i]; string prefix = oldParName.Split('[')[0]; string parName = prefix + "[" + parNum + "]"; parNum++; ParameterVM toAdd = new ParameterVM(parName, type.GetElementType(), item, first, true); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); first = false; } } else { value = _paramsValues[_methodIndex][i]; ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type, value); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } } else { if (paramsArray) { ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } else { ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][i], type); toAdd.PropertyChanged += parameter_PropertyChanged; parList.Add(toAdd); } } } _parameters = parList.ToArray(); } else // Composite Gate { object value = _paramsValues[0][1]; _parameters = new ParameterVM[1]; ParameterVM toAdd = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register), value); toAdd.PropertyChanged += parameter_PropertyChanged; _parameters[0] = toAdd; } }
private void PopulateParams() { if (_candidates != null) { ParameterInfo[] infos = _candidates[_methodIndex].GetParameters(); _parameters = new ParameterVM[infos.Length - 1]; for (int i = 1; i < infos.Length; i++) { Type type = infos[i].ParameterType; bool paramsArray = (i == infos.Length - 1 && _hasParamArray[_methodIndex]); if (paramsArray) { _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type.GetElementType(), null, true, true); } else { _parameters[i - 1] = new ParameterVM(_paramsNames[_methodIndex][i], type); } } } else // Composite Gate { _parameters = new ParameterVM[1]; _parameters[0] = new ParameterVM(_paramsNames[_methodIndex][1], typeof(QuantumParser.Register)); } }
// only for design public OutputGridVM() { _selectedRegister = new ParameterVM("register", typeof(QuantumParser.Register)); }