---
url: https://node-ts.github.io/bus/api/bus-core/interfaces/ContainerAdapter.md
---
[API reference](../../index.md) / [@node-ts/bus-core](../index.md) / ContainerAdapter

# Interface: ContainerAdapter

Defined in: [packages/bus-core/src/container/container-adapter.ts:8](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-core/src/container/container-adapter.ts#L8)

An adapter so that resolvers can use a local DI/IoC container
to resolve class based handlers and workflows

## Methods

### get()

```ts
get<T>(type, context?): T | Promise<T>;
```

Defined in: [packages/bus-core/src/container/container-adapter.ts:15](https://github.com/node-ts/bus/blob/2e6cf65c27833b707ae31ee623cfb6343770f434/packages/bus-core/src/container/container-adapter.ts#L15)

Fetch a class instance from the container

#### Type Parameters

| Type Parameter |
| ------ |
| `T` |

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `type` | [`ClassConstructor`](../type-aliases/ClassConstructor.md)<`T`> | Type of the class to fetch an instance for |
| `context?` | { `message?`: [`Message`](../../bus-messages/classes/Message.md); `messageAttributes?`: [`MessageAttributes`](../../bus-messages/interfaces/MessageAttributes.md)<[`MessageAttributeMap`](../../bus-messages/interfaces/MessageAttributeMap.md), [`MessageAttributeMap`](../../bus-messages/interfaces/MessageAttributeMap.md)>; } | Optional context to pass to the container. This is used in order to allow different resolving containers to be used for different messages. |
| `context.message?` | [`Message`](../../bus-messages/classes/Message.md) | - |
| `context.messageAttributes?` | [`MessageAttributes`](../../bus-messages/interfaces/MessageAttributes.md)<[`MessageAttributeMap`](../../bus-messages/interfaces/MessageAttributeMap.md), [`MessageAttributeMap`](../../bus-messages/interfaces/MessageAttributeMap.md)> | - |

#### Returns

`T` | `Promise`<`T`>

#### Example

```ts
get(MessageHandler)
```
