/// <summary> /// Finds parameters to be used for optimization for the given Strategy and displays on UI /// </summary> private void OptimizationParameterDetails() { // Clear existing data OptimizationParameters.Clear(); // Contains custom defined attributes in the given assembly Dictionary <int, Tuple <string, Type> > customAttributes = null; // Get Custom Attributes if (_selectedStrategy.StrategyType != null) { // Get custom attributes from the given assembly customAttributes = StrategyHelper.GetCustomAttributes(_selectedStrategy.StrategyType); foreach (KeyValuePair <int, Tuple <string, Type> > keyValuePair in customAttributes) { var parameter = new OptimizationParameterDetail(); parameter.Index = keyValuePair.Key; parameter.Description = keyValuePair.Value.Item1; parameter.ParameterType = keyValuePair.Value.Item2; // Add to observable collection to display on UI OptimizationParameters.Add(parameter); } } }