public BuildClassInfo Merge(BuildClassInfo c) { Debug.Assert(Class == c.Class); Debug.Assert(Assignments.Select(a => a.Parameter).Intersect(c.Assignments.Select(a => a.Parameter)).Any() == false); var assignments = Assignments.Concat(c.Assignments).ToList(); return(new BuildClassInfo(Class, assignments)); }
/// <summary> /// Not used yet. Planned to support services enumerable and required manual mapping. /// </summary> /// <param name="c"></param> public void Register(BuildClassInfo c) { if (_infos.TryGetValue(c.Class, out var exists)) { _infos[c.Class] = exists.Merge(c); } else { _infos.Add(c.Class, c); } }