---
id:
aliases: []
tags:
  - automation
  - estimating
  - software
  - type/idea
---
# Assembly Objects

```cs
public class GangableReceptacle : IGangableDevice
...

public class GangableSwitch : IGangableDevice
...

public class OutletBox
{
    public List<IUtilizationEquipment> Contents;

    public void Add(IUtilizationEquipment)
    {
        // Add to contents or throw if incompatible
    }

    public List<Item> Resolve()
    {
        // Check content types and resolve by specifications
        // or raise error if not possible
        // (e.g. incompatible devices)
    }
}
```
