# IGrainPropertiesProviderAttribute Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.metadata.igrainpropertiesproviderattribute/)

## Populate(IServiceProvider, Type, GrainType, Dictionary&lt;string, string&gt;) {#populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-e3a07d0e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.metadata.igrainpropertiesproviderattribute/methods/populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-e3a07d0e/)

```csharp
public abstract void Populate(IServiceProvider services, Type grainClass, GrainType grainType, Dictionary<string, string> properties)
```

Adds grain properties to `properties`.

### Parameters

- `services` (`IServiceProvider`): The service provider.
- `grainClass` (`Type`): The grain class.
- `grainType` (`GrainType`): The grain type id.
- `properties` (`Dictionary<string, string>`): The properties collection which calls to this method should populate.
