コード例 #1
0
        public InstanceSources MergeWithPreferred(InstanceSources instanceSources)
        {
            var others = _others.Union(instanceSources._others);

            if (instanceSources.Best is not null)
            {
                others = others.Remove(instanceSources.Best);
            }
            if (Best is not null && !Best.Equals(instanceSources.Best))
            {
                others = others.Add(Best);
            }
            return(new InstanceSources(instanceSources.Best, others));
        }
コード例 #2
0
        public InstanceSources Merge(InstanceSources instanceSources)
        {
            if (Best?.Equals(instanceSources.Best) ?? false)
            {
                return(new InstanceSources(Best, _others.Union(instanceSources._others)));
            }

            var others = _others.Union(instanceSources._others);

            if (Best is not null)
            {
                others = others.Add(Best);
            }
            if (instanceSources.Best is not null)
            {
                others = others.Add(instanceSources.Best);
            }
            return(new InstanceSources(null, others));
        }