Changeset 11813 for branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Individuals/MultiEncodingIndividual.cs
- Timestamp:
- 01/21/15 11:54:43 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Individuals/MultiEncodingIndividual.cs
r11737 r11813 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 … … 46 47 public override IItem this[string name] { 47 48 get { 48 var individual = individuals. FirstOrDefault(i => i.Name == name);49 var individual = individuals.SingleOrDefault(i => i.Name == name); 49 50 if (individual == null) throw new ArgumentException(string.Format("{0} is not part of the specified encoding.", name)); 50 51 return individual[name]; 51 52 } 52 53 set { 53 var individual = individuals. FirstOrDefault(i => i.Name == name);54 var individual = individuals.SingleOrDefault(i => i.Name == name); 54 55 if (individual == null) throw new ArgumentException(string.Format("{0} is not part of the specified encoding.", name)); 55 56 individual[name] = value; 56 57 } 58 } 59 60 public override TEncoding GetEncoding<TEncoding>() { 61 TEncoding encoding; 62 try { 63 encoding = (TEncoding)Encoding.Encodings.SingleOrDefault(e => e is TEncoding); 64 } 65 catch (InvalidOperationException) { 66 throw new InvalidOperationException(string.Format("The individual uses multiple {0} .", typeof(TEncoding).GetPrettyName())); 67 } 68 if (encoding == null) throw new InvalidOperationException(string.Format("The individual does not use a {0}.", typeof(TEncoding).GetPrettyName())); 69 return encoding; 57 70 } 58 71
Note: See TracChangeset
for help on using the changeset viewer.