# MayInterleaveAttribute Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.concurrency.mayinterleaveattribute/)

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.concurrency.mayinterleaveattribute/methods/populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-08b5dca2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Concurrency/GrainAttributeConcurrency.cs#L141-L142)

```csharp
public 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.
