# ISetPropertyBag<TSet, TElement>

> Base typed interface for implementing set based property bags.

## Definition

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

```csharp
public interface ISetPropertyBag<TSet, TElement> : ICollectionPropertyBag<TSet, TElement>, IPropertyBag<TSet>, IPropertyBag, ICollectionPropertyBagAccept<TSet>, ISetPropertyBagAccept<TSet>, ISetPropertyAccept<TSet>, IKeyedProperties<TSet, object> where TSet : ISet<TElement>
```

## Inheritance

**Inherited Members:**

* [IPropertyBag\<T>.GetProperties()](/engine/6000.0/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.GetProperties(T)](/engine/6000.0/script-reference/unity/properties/ipropertybag1/getproperties.md)
* [IPropertyBag\<T>.CreateInstance()](/engine/6000.0/script-reference/unity/properties/ipropertybag1/createinstance.md)
* [IPropertyBag\<T>.TryCreateInstance(T)](/engine/6000.0/script-reference/unity/properties/ipropertybag1/trycreateinstance.md)
* [IPropertyBag\<T>.Accept(IPropertyBagVisitor, T)](/engine/6000.0/script-reference/unity/properties/ipropertybag1/accept.md)
* [IPropertyBag.Accept(ITypeVisitor)](/engine/6000.0/script-reference/unity/properties/ipropertybag/accept.md#accept\(itypevisitor\))
* [IPropertyBag.Accept(IPropertyBagVisitor, Object)](/engine/6000.0/script-reference/unity/properties/ipropertybag/accept.md#accept\(ipropertybagvisitor-object\))
* [ICollectionPropertyBagAccept\<T>.Accept(ICollectionPropertyBagVisitor, T)](/engine/6000.0/script-reference/unity/properties/icollectionpropertybagaccept1/accept.md)
* [ISetPropertyBagAccept\<T>.Accept(ISetPropertyBagVisitor, T)](/engine/6000.0/script-reference/unity/properties/isetpropertybagaccept1/accept.md)
* [ISetPropertyAccept\<T>.Accept\<T>(ISetPropertyVisitor, Property\<T, T>, T, T)](/engine/6000.0/script-reference/unity/properties/isetpropertyaccept1/accept.md)
* [IKeyedProperties\<T, Object>.TryGetProperty(T, Object, IProperty\<T>)](/engine/6000.0/script-reference/unity/properties/ikeyedproperties2/trygetproperty.md)
