# IDictionaryPropertyBag<TDictionary, TKey, TValue>

> Base typed interface for implementing dictionary based property bags.

## Definition

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

```csharp
public interface IDictionaryPropertyBag<TDictionary, TKey, TValue> : ICollectionPropertyBag<TDictionary, KeyValuePair<TKey, TValue>>, IPropertyBag<TDictionary>, IPropertyBag, ICollectionPropertyBagAccept<TDictionary>, IDictionaryPropertyBagAccept<TDictionary>, IDictionaryPropertyAccept<TDictionary>, IKeyedProperties<TDictionary, object> where TDictionary : IDictionary<TKey, TValue>
```

## Inheritance

**Inherited Members:**

* [IPropertyBag\<T>.GetProperties()](/engine/6000.7/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.GetProperties(T)](/engine/6000.7/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.CreateInstance()](/engine/6000.7/script-reference/unity/properties/ipropertybag1/createinstance.md)
* [IPropertyBag\<T>.TryCreateInstance(T)](/engine/6000.7/script-reference/unity/properties/ipropertybag1/trycreateinstance.md)
* [IPropertyBag\<T>.Accept(IPropertyBagVisitor, T)](/engine/6000.7/script-reference/unity/properties/ipropertybag1/accept.md)
* [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\))
* [ICollectionPropertyBagAccept\<T>.Accept(ICollectionPropertyBagVisitor, T)](/engine/6000.7/script-reference/unity/properties/icollectionpropertybagaccept1/accept.md)
* [IDictionaryPropertyBagAccept\<T>.Accept(IDictionaryPropertyBagVisitor, T)](/engine/6000.7/script-reference/unity/properties/idictionarypropertybagaccept1/accept.md)
* [IDictionaryPropertyAccept\<T>.Accept\<T>(IDictionaryPropertyVisitor, Property\<T, T>, T, T)](/engine/6000.7/script-reference/unity/properties/idictionarypropertyaccept1/accept.md)
* [IKeyedProperties\<T, Object>.TryGetProperty(T, Object, IProperty\<T>)](/engine/6000.7/script-reference/unity/properties/ikeyedproperties2/trygetproperty.md)
