# 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/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Serialization/Session/ReferencedObjectCollection.cs#L84-L146)

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