# DoubleStateTransactionalGrain Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.doublestatetransactionalgrain/)

## DoubleStateTransactionalGrain(ITransactionalState&lt;BitArrayState&gt;, ITransactionalState&lt;BitArrayState&gt;, ILoggerFactory) {#constructor-orleans-transactions-abstractions-itransactionalstate-orleans-transa-40bf941d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleans.transactions.testkit.correctnesss.doublestatetransactionalgrain/constructors/constructor-orleans-transactions-abstractions-itransactionalstate-orleans-transa-40bf941d/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.Base/Grains/MultiStateTransactionalBitArrayGrain.cs#L186-L188)

```csharp
public DoubleStateTransactionalGrain(ITransactionalState<BitArrayState> data1, ITransactionalState<BitArrayState> data2, ILoggerFactory loggerFactory)
```

### Parameters

- `data1` (`ITransactionalState<BitArrayState>`)
- `data2` (`ITransactionalState<BitArrayState>`)
- `loggerFactory` (`ILoggerFactory`)
