# AtsContext Properties

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

Contains all scanned types, capabilities, and metadata from ATS assembly scanning.

## Capabilities

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

Gets the capabilities discovered during scanning. Capabilities are methods or properties marked with [AspireExport] that can be invoked via RPC.

```csharp
public IReadOnlyList<AtsCapabilityInfo> Capabilities { get; init; }
```

## Diagnostics

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

Gets any diagnostics (warnings/errors) generated during scanning.

```csharp
public IReadOnlyList<AtsDiagnostic> Diagnostics { get; init; }
```

## DtoTypes

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

Gets the DTO types discovered during scanning. These are types marked with [AspireDto] that are serialized as JSON objects. Code generators create interfaces for these types.

```csharp
public IReadOnlyList<AtsDtoTypeInfo> DtoTypes { get; init; }
```

## EnumTypes

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

Gets the enum types discovered during scanning. These are enum types found in capability signatures, serialized as strings. Code generators create enum definitions for these types.

```csharp
public IReadOnlyList<AtsEnumTypeInfo> EnumTypes { get; init; }
```

## ExportedValues

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

Gets the exported immutable values discovered during scanning.

```csharp
public IReadOnlyList<AtsExportedValueInfo> ExportedValues { get; init; }
```

## HandleTypes

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

Gets the handle types discovered during scanning. These are types marked with [AspireExport] that are passed by reference using opaque handles. Code generators create wrapper classes for these types.

```csharp
public IReadOnlyList<AtsTypeInfo> HandleTypes { get; init; }
```

## Methods

- Name: `Methods`
- Modifiers: `get`
- Returns: `Dictionary<string, MethodInfo>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsContext.cs#L94)

Runtime registry mapping capability IDs to methods.

```csharp
public Dictionary<string, MethodInfo> Methods { get; }
```

## Properties

- Name: `Properties`
- Modifiers: `get`
- Returns: `Dictionary<string, PropertyInfo>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsContext.cs#L99)

Runtime registry mapping capability IDs to properties.

```csharp
public Dictionary<string, PropertyInfo> Properties { get; }
```
