public static PropertyValue <T> with <T, V>(Maker <V> valueMaker, Property <T> property) { return(new PropertyValue <T>(property, valueMaker.make())); }
public static T make <T>(Maker <T> maker) { return(maker.make()); }
private Maker(Maker <T> that, params PropertyValue <T>[] propertyValues) { instantiator = that.instantiator; values = new Dictionary <Property <T>, Object>(that.values); setPropertyValues(propertyValues); }