# IPropertyBag<TContainer>

> Base typed interface for implementing property bags.

## Definition

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

```csharp
public interface IPropertyBag<TContainer> : IPropertyBag
```

## Methods

| Method                                                                                                   | Description                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Accept](/engine/6000.7/script-reference/unity/properties/ipropertybag1/accept.md)                       | Call this method to invoke [IPropertyBagVisitor.Visit](/engine/6000.7/script-reference/unity/properties/ipropertybagvisitor/visit.md) with the strongly typed container. |
| [CreateInstance](/engine/6000.7/script-reference/unity/properties/ipropertybag1/createinstance.md)       | Creates and returns a new instance of `TContainer`.                                                                                                                      |
| [GetProperties](/engine/6000.7/script-reference/unity/properties/ipropertybag1/getproperties.md)         | Returns an enumerator that iterates through all static properties for the type.                                                                                          |
| [TryCreateInstance](/engine/6000.7/script-reference/unity/properties/ipropertybag1/trycreateinstance.md) | Tries to create a new instance of `TContainer`.                                                                                                                          |

## Inheritance

**Inherited Members:**

* [IPropertyBag.Accept(ITypeVisitor)](/engine/6000.7/script-reference/unity/properties/ipropertybag/accept.md#accept\(itypevisitor\))
* [IPropertyBag.Accept(IPropertyBagVisitor, Object)](/engine/6000.7/script-reference/unity/properties/ipropertybag/accept.md#accept\(ipropertybagvisitor-object\))
