Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/01/12 15:15:22 (12 years ago)
Author:
abeham
Message:

#1614

  • Fixed plugin dependencies
  • Updated GQAP view
  • Changed instances infrastructure
    • Changed interface types into classes
    • Removed the library specific instance classes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views/3.3/ProblemView.cs

    r7523 r7538  
    6363      if (problemInstanceProviderComboBox.SelectedIndex >= 0) {
    6464        var provider = (IProblemInstanceProvider)problemInstanceProviderComboBox.SelectedItem;
    65         provider.SetConsumer((IProblemInstanceConsumer)Content);
     65        var genericType = provider.GetType().GetInterfaces().Single(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IProblemInstanceProvider<>)).GetGenericArguments().First();
     66        this.GetType().GetMethod("SetConsumable").MakeGenericMethod(genericType).Invoke(this, new object[] { provider, Content });
    6667        problemInstanceProviderViewHost.Content = provider;
    6768      }
     69    }
     70
     71    /// <summary>
     72    /// Do not change method name without changing the string reference above
     73    /// </summary>
     74    private void SetConsumable<T>(IProblemInstanceProvider<T> producer, IConsumable<T> consumer) {
     75      producer.Consumer = consumer;
    6876    }
    6977
     
    7785      var consumerTypes = Content.GetType().GetInterfaces()
    7886        .Where(x => x.IsGenericType
    79           && typeof(IProblemInstanceConsumer).IsAssignableFrom(x));
     87          && x.GetGenericTypeDefinition() == typeof(IConsumable<>));
    8088
    8189      if (consumerTypes.Any()) {
Note: See TracChangeset for help on using the changeset viewer.