public BuildSession(IConfiguredBuilder builder, BuildSession parent, Random random) { _builder = builder; _wrappedBuilder = new SessionedBuilder(builder, this); if (parent != null && !parent.IsDisposed) { _sessionId = parent._sessionId; _random = parent._random; _constructedNodes = parent._constructedNodes; _objectTreeRoot = parent._objectTreeRoot; _memberStack = parent._memberStack; CurrentObject = parent.CurrentObject; } else { _sessionId = random.Next(); _random = random; _constructedNodes = new List <ObjectBuildTreeEntry>(); _objectTreeRoot = new ObjectBuildTreeEntry(null, null, -1); _memberStack = new Stack <MemberInfo>(); CurrentObject = _objectTreeRoot; } }
public TypedBuilder(IConfiguredBuilder parent, bool allowInherited) { _parent = parent; _allowInherited = allowInherited; }
public SessionedBuilder(IConfiguredBuilder builder, BuildSession session) { _builder = builder; _session = session; }