# ICollectionPropertyBag<TCollection, TElement>

> Base untyped interface for implementing collection based property bags.

## Definition

* **Type:** Interface
* **Namespace:** [Unity.Properties](/engine/6000.3/script-reference/unity/properties.md)
* **Assembly:** UnityEngine.PropertiesModule

```csharp
public interface ICollectionPropertyBag<TCollection, TElement> : IPropertyBag<TCollection>, IPropertyBag, ICollectionPropertyBagAccept<TCollection> where TCollection : ICollection<TElement>
```

## Inheritance

**Inherited Members:**

* [IPropertyBag\<T>.GetProperties()](/engine/6000.3/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.GetProperties(T)](/engine/6000.3/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.CreateInstance()](/engine/6000.3/script-reference/unity/properties/ipropertybag1/createinstance.md)
* [IPropertyBag\<T>.TryCreateInstance(T)](/engine/6000.3/script-reference/unity/properties/ipropertybag1/trycreateinstance.md)
* [IPropertyBag\<T>.Accept(IPropertyBagVisitor, T)](/engine/6000.3/script-reference/unity/properties/ipropertybag1/accept.md)
* [IPropertyBag.Accept(ITypeVisitor)](/engine/6000.3/script-reference/unity/properties/ipropertybag/accept.md#accept\(itypevisitor\))
* [IPropertyBag.Accept(IPropertyBagVisitor, Object)](/engine/6000.3/script-reference/unity/properties/ipropertybag/accept.md#accept\(ipropertybagvisitor-object\))
* [ICollectionPropertyBagAccept\<T>.Accept(ICollectionPropertyBagVisitor, T)](/engine/6000.3/script-reference/unity/properties/icollectionpropertybagaccept1/accept.md)
