# DelegateProperty<TContainer, TValue>

> Represents a value property.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Properties](/engine/6000.5/script-reference/unity/properties.md)
* **Assembly:** UnityEngine.PropertiesModule
* **Inherits from:** [Property\<T, T>](/engine/6000.5/script-reference/unity/properties/property2.md)
* **Implements:** [IProperty\<T>](/engine/6000.5/script-reference/unity/properties/iproperty1.md), [IProperty](/engine/6000.5/script-reference/unity/properties/iproperty.md), [IPropertyAccept\<T>](/engine/6000.5/script-reference/unity/properties/ipropertyaccept1.md)

```csharp
public class DelegateProperty<TContainer, TValue> : Property<TContainer, TValue>, IProperty<TContainer>, IProperty, IPropertyAccept<TContainer>
```

## Remarks

A [DelegateProperty\<TContainer, TValue>](/engine/6000.5/script-reference/unity/properties/delegateproperty2.md) is the default way to construct properties.

## Constructors

| Constructor                                                                                                                                                                                          | Description                                                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DelegateProperty\`2(System.String,Unity.Properties.PropertyGetter\{\`0,\`1},Unity.Properties.PropertySetter\{\`0,\`1})](/engine/6000.5/script-reference/unity/properties/delegateproperty2/ctor.md) | Initializes a new instance of the [DelegateProperty\<TContainer, TValue>](/engine/6000.5/script-reference/unity/properties/delegateproperty2.md) class. |

## Inheritance

**Inherited Members:**

* [Property\<T, T>.DeclaredValueType()](/engine/6000.5/script-reference/unity/properties/property2/declaredvaluetype.md)
* [Property\<T, T>.Accept(IPropertyVisitor, T)](/engine/6000.5/script-reference/unity/properties/property2/accept.md)
* [Property\<T, T>.GetValue(T)](/engine/6000.5/script-reference/unity/properties/property2/getvalue.md)
* [Property\<T, T>.SetValue(T, T)](/engine/6000.5/script-reference/unity/properties/property2/setvalue.md)
* [Property\<T, T>.AddAttribute(Attribute)](/engine/6000.5/script-reference/unity/properties/property2/addattribute.md)
* [Property\<T, T>.AddAttributes(IEnumerable\<Attribute>)](/engine/6000.5/script-reference/unity/properties/property2/addattributes.md)
* [Property\<T, T>.HasAttribute\<T>()](/engine/6000.5/script-reference/unity/properties/property2/hasattribute.md)
* [Property\<T, T>.GetAttribute\<T>()](/engine/6000.5/script-reference/unity/properties/property2/getattribute.md)
* [Property\<T, T>.GetAttributes\<T>()](/engine/6000.5/script-reference/unity/properties/property2/getattributes.md)
* [Property\<T, T>.GetAttributes()](/engine/6000.5/script-reference/unity/properties/property2/getattributes.md)
* [Property\<T, T>.Name()](/engine/6000.5/script-reference/unity/properties/property2/name.md)
* [Property\<T, T>.IsReadOnly()](/engine/6000.5/script-reference/unity/properties/property2/isreadonly.md)
