# IProviderRuntime Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.providers.iproviderruntime/)

## BindExtension(Func&lt;TExtension&gt;) {#bindextension-2-system-func-textension-9d4857e7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.providers.iproviderruntime/methods/bindextension-2-system-func-textension-9d4857e7/)

```csharp
public abstract (TExtension Extension, TExtensionInterface ExtensionReference) IProviderRuntime.BindExtension<TExtension, TExtensionInterface>(Func<TExtension> newExtensionFunc)
```

Binds an extension to an addressable object, if not already done.

### Parameters

- `newExtensionFunc` (`Func<TExtension>`): A factory function that constructs a new extension object.

### Returns

A tuple, containing first the extension and second an addressable reference to the extension's interface.
