# RegisterProviderAttribute Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registerproviderattribute/)

## RegisterProviderAttribute(string, string, string, Type) {#constructor-string-string-string-system-type-e51a0990}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registerproviderattribute/constructors/constructor-string-string-string-system-type-e51a0990/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.Abstractions/Annotations.cs#L375-L402)

```csharp
public RegisterProviderAttribute(string name, string kind, string target, Type type)
```

When applied to a type, indicates that the type is a provider and that it should be automatically registered.

### Parameters

- `name` (`string`): The provider name, for example, `"AzureTableStorage"`.
- `kind` (`string`): The kind of provider, for example, `"Clustering"`, `"Reminders"`.
- `target` (`string`): The intended target of the provider, for example, `"Server"`, `"Client"`.
- `type` (`Type`)
