private ValueBuilder <T> GetBuilder <T>(Type mixinType) { ValueFinder finder = this.moduleInstance.FindValueModel(mixinType); if (finder.Model == null) { throw new Exception("Composite not found"); } return(new ValueBuilderInstance <T>(finder.Module, finder.Model)); }
public ValueFinder FindValueModel(Type mixinType) { ValueFinder finder; if (!this.valueFinders.TryGetValue(mixinType, out finder)) { finder = new ValueFinder { MixinType = mixinType }; this.VisitModules(finder); if (finder.Model != null) { this.valueFinders.Add(mixinType, finder); } } return(finder); }