You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
762 B

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Composite
{
internal class Composite : Component
{
protected List<Component> _children = new List<Component>();
public override void Add(Component component)
{
_children.Add(component);
}
public override void Remove(Component component)
{
_children.Remove(component);
}
public override string Operation()
{
int i = 0;
StringBuilder sb = new StringBuilder();
sb.Append("Branch(");
foreach (Component component in _children)
{
sb.Append(component.Operation());
if (i != _children.Count - 1)
sb.Append("+");
i++;
}
sb.Append(")");
return sb.ToString();
}
}
}