# Try(ref Block)

> Invokes the allocator function of a block.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Collections](/engine/6000.7/script-reference/unity/collections.md)
* **Assembly:** UnityEngine.ManagedKernelModule

## Try(Block)

```csharp
public static int Try(ref AllocatorManager.Block block)
```

### Parameters

**** (\[Block]\(/engine/6000.7/script-reference/unity/collections/allocatormanager/block)): The block to allocate, deallocate, or reallocate.

### Returns

| Type                                                       | Description                                                                             |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | 0 if successful. Otherwise, returns the error code from the block's allocator function. |

### Remarks

The allocator function is looked up from a global table.

* If the block range's Pointer is null, it will allocate.

* If the block range's Pointer is not null, it will reallocate.

* If the block range's Items is 0, it will deallocate.
