Skip to content

BH.oM.Base.IContainer

Identifies Container objects that can contain other interrelated objects in multiple properties. The container can be unpacked to get all of its objects as a flat list.

Interface structure

Implemented interfaces and base types

The IContainer is inheriting from the following base type(s) and implements the following interfaces:

Classes implementing this interface

The following classes are implementing this interface:

Properties

Derived properties

The following properties are defined as extension methods in one of the BHoM_Engines

Name Type Description Quantity Engine
Unpack IEnumerable<IObject> Unpacks the contents of the input IContainer. The contents are flattened into a list of objects.The flattening supports properties of IContainer that are Lists, List of Lists, Dictionaries (the values are flattened) and Dictionaries with a Value that is a list (the list is flattened).Any other nested datastructure has its elements returned as-is. - BHoM_Engine

Code and Schema

C# implementation

C#
public interface IContainer : BH.oM.Base.IObject

Assembly: BHoM.dll

The C# interface definition is available on github:

All history and changes of the class can be found by inspection the history.

JSON Schema implementation

The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/BHoM/IContainer.json"
}

The JSON Schema is available on github here: