# MayInterleaveAttribute

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Concurrency/GrainAttributeConcurrency.cs#L118)

```csharp
public sealed class MayInterleaveAttribute : Attribute, IGrainPropertiesProviderAttribute
```

The MayInterleaveAttribute attribute is used to mark classes that want to control request interleaving via supplied method callback.

## Remarks

The callback method name should point to a public static function declared on the same class and having the following signature: `public static bool MayInterleave(IInvokable req)`

## Constructors

- [MayInterleaveAttribute(string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.concurrency.mayinterleaveattribute/constructors/constructor-string-3bb6054f/)

## Methods

- [Populate(IServiceProvider, Type, GrainType, Dictionary&lt;string, string&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.concurrency.mayinterleaveattribute/methods/populate-system-iserviceprovider-system-type-orleans-runtime-graintype-system-co-08b5dca2/)
