public ITuneableTrackAttributesBuilder DynamicAttribute <T>(string attributeName, Action <ITuneableTrackAttributeBuilder <T> > buildAttribute) where T : struct { var attributeBuilder = new TuneableTrackAttributeBuilder <T>(); buildAttribute?.Invoke(attributeBuilder); this.attributes[attributeName] = attributeBuilder.GetValues(attributeName).ToList(); return(this); }
private ITuneableTrackAttributesBuilder Attribute <T, TResult>(string attributeName, Action <ITuneableTrackAttributeBuilder <T> > buildAttribute, Func <T, TResult> resultSelector) where T : struct { var attributeBuilder = new TuneableTrackAttributeBuilder <T, TResult>(resultSelector); buildAttribute?.Invoke(attributeBuilder); this.attributes[attributeName] = attributeBuilder.GetValues(attributeName).ToList(); return(this); }