# ReferencedObjectCollection.GetOrAddReference(object, uint)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.session.referencedobjectcollection/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.session.referencedobjectcollection/methods/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Session/ReferencedObjectCollection.cs#L85-L147)

```csharp
public bool GetOrAddReference(object value, out uint reference)
```

Gets or adds a reference.

### Parameters

- `value` (`object`): The value.
- `reference` (`uint`): The reference.

### Returns

`true` if a reference already existed, `false` otherwise.
