# AtsDtoPropertyInfo Properties

- Package: [Aspire.TypeSystem](/reference/api/csharp/aspire.typesystem.md)
- Type: [AtsDtoPropertyInfo](/reference/api/csharp/aspire.typesystem/atsdtopropertyinfo.md)
- Kind: `Properties`
- Members: `8`

Represents a property of a DTO type.

## CallbackParameters

- Name: `CallbackParameters`
- Modifiers: `nullable` `get; init`
- Returns: [IReadOnlyList<AtsCallbackParameterInfo>](/reference/api/csharp/aspire.typesystem/atscallbackparameterinfo.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the parameters of the callback delegate. Only populated when [AtsDtoPropertyInfo.IsCallback](/reference/api/csharp/aspire.typesystem/atsdtopropertyinfo/properties.md#iscallback) is true.

```csharp
public IReadOnlyList<AtsCallbackParameterInfo>? CallbackParameters { get; init; }
```

## CallbackReturnType

- Name: `CallbackReturnType`
- Modifiers: `nullable` `get; init`
- Returns: [AtsTypeRef?](/reference/api/csharp/aspire.typesystem/atstyperef.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the return type for the callback delegate. Only populated when [AtsDtoPropertyInfo.IsCallback](/reference/api/csharp/aspire.typesystem/atsdtopropertyinfo/properties.md#iscallback) is true.

```csharp
public AtsTypeRef? CallbackReturnType { get; init; }
```

## Description

- Name: `Description`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets a description of this property.

```csharp
public string? Description { get; init; }
```

## Documentation

- Name: `Documentation`
- Modifiers: `nullable` `get; init`
- Returns: [AtsDocumentationInfo?](/reference/api/csharp/aspire.typesystem/atsdocumentationinfo.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the XML documentation captured for this property.

```csharp
public AtsDocumentationInfo? Documentation { get; init; }
```

## IsCallback

- Name: `IsCallback`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets whether this property is a callback delegate. Callbacks are inferred from delegate types (Func, Action, custom delegates).

```csharp
public bool IsCallback { get; init; }
```

## IsOptional

- Name: `IsOptional`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets whether this property is optional (nullable or has default).

```csharp
public bool IsOptional { get; init; }
```

## Name

- Name: `Name`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the property name.

```csharp
public string Name { get; init; }
```

## Type

- Name: `Type`
- Modifiers: `get; init`
- Returns: [AtsTypeRef](/reference/api/csharp/aspire.typesystem/atstyperef.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the property type reference.

```csharp
public AtsTypeRef Type { get; init; }
```
