# SetPropertyBagBase<TSet, TElement>

> A IPropertyBag<TContainer> implementation for a generic set of elements using the ISet_1 interface.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Properties](/engine/6000.7/script-reference/unity/properties.md)
* **Assembly:** UnityEngine.PropertiesModule
* **Inherits from:** [PropertyBag\<T>](/engine/6000.7/script-reference/unity/properties/propertybag1.md)
* **Implements:** [ISetPropertyBag\<T, T>](/engine/6000.7/script-reference/unity/properties/isetpropertybag2.md), [ICollectionPropertyBag\<T, T>](/engine/6000.7/script-reference/unity/properties/icollectionpropertybag2.md), [IPropertyBag\<T>](/engine/6000.7/script-reference/unity/properties/ipropertybag1.md), [IPropertyBag](/engine/6000.7/script-reference/unity/properties/ipropertybag.md), [ICollectionPropertyBagAccept\<T>](/engine/6000.7/script-reference/unity/properties/icollectionpropertybagaccept1.md), [ISetPropertyBagAccept\<T>](/engine/6000.7/script-reference/unity/properties/isetpropertybagaccept1.md), [ISetPropertyAccept\<T>](/engine/6000.7/script-reference/unity/properties/isetpropertyaccept1.md), [IKeyedProperties\<T, Object>](/engine/6000.7/script-reference/unity/properties/ikeyedproperties2.md)

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

## Methods

| Method                                                                                                   | Description                                           |
| -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [TryGetProperty](/engine/6000.7/script-reference/unity/properties/setpropertybagbase2/trygetproperty.md) | Gets the property associated with the specified name. |

## Inheritance

**Inherited Members:**

* [PropertyBag\<T>.Accept(ITypeVisitor)](/engine/6000.7/script-reference/unity/properties/propertybag1/accept.md)
* [PropertyBag\<T>.GetProperties()](/engine/6000.7/script-reference/unity/properties/propertybag1/getproperties.md)
* [PropertyBag\<T>.GetProperties(T)](/engine/6000.7/script-reference/unity/properties/propertybag1/getproperties.md)
* [PropertyBag\<T>.Instantiate()](/engine/6000.7/script-reference/unity/properties/propertybag1/instantiate.md)
* [PropertyBag\<T>.CreateInstance()](/engine/6000.7/script-reference/unity/properties/propertybag1/createinstance.md)
* [PropertyBag\<T>.TryCreateInstance(T)](/engine/6000.7/script-reference/unity/properties/propertybag1/trycreateinstance.md)
* [PropertyBag\<T>.InstantiationKind()](/engine/6000.7/script-reference/unity/properties/propertybag1/instantiationkind.md)
