# AttributeDataReader Methods

- Package: [Aspire.TypeSystem](/reference/api/csharp/aspire.typesystem.md)
- Type: [AttributeDataReader](/reference/api/csharp/aspire.typesystem/attributedatareader.md)
- Kind: `Methods`
- Members: `15`

Provides full-name-based discovery of ATS attributes from `Reflection.CustomAttributeData`, so that third-party authors can define their own attribute types with the same full name without requiring a package reference to Aspire.Hosting.

## GetAspireExportData(Type)

- Name: `GetAspireExportData(Type)`
- Modifiers: `static` `nullable`
- Returns: [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L28)

Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `type`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireExportData? GetAspireExportData(
        Type type)
    {
        // ...
    }
}
```

## Parameters

- `type` (`Type`)

## GetAspireExportData(MethodInfo)

- Name: `GetAspireExportData(MethodInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L34)

Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `method`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireExportData? GetAspireExportData(
        MethodInfo method)
    {
        // ...
    }
}
```

## Parameters

- `method` (`MethodInfo`)

## GetAspireExportData(PropertyInfo)

- Name: `GetAspireExportData(PropertyInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L40)

Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `property`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireExportData? GetAspireExportData(
        PropertyInfo property)
    {
        // ...
    }
}
```

## Parameters

- `property` (`PropertyInfo`)

## GetAspireExportDataAll(Assembly)

- Name: `GetAspireExportDataAll(Assembly)`
- Modifiers: `static`
- Returns: [IEnumerable<AspireExportData>](/reference/api/csharp/aspire.typesystem/aspireexportdata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L46)

Gets all [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) entries from the specified `assembly`.

```csharp
public static class AttributeDataReader
{
    public static IEnumerable<AspireExportData> GetAspireExportDataAll(
        Assembly assembly)
    {
        // ...
    }
}
```

## Parameters

- `assembly` (`Assembly`)

## GetAspireUnionData(ParameterInfo)

- Name: `GetAspireUnionData(ParameterInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireUnionData?](/reference/api/csharp/aspire.typesystem/aspireuniondata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L96)

Gets [AspireUnionData](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) from the specified `parameter`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireUnionData? GetAspireUnionData(
        ParameterInfo parameter)
    {
        // ...
    }
}
```

## Parameters

- `parameter` (`ParameterInfo`)

## GetAspireUnionData(PropertyInfo)

- Name: `GetAspireUnionData(PropertyInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireUnionData?](/reference/api/csharp/aspire.typesystem/aspireuniondata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L102)

Gets [AspireUnionData](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) from the specified `property`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireUnionData? GetAspireUnionData(
        PropertyInfo property)
    {
        // ...
    }
}
```

## Parameters

- `property` (`PropertyInfo`)

## GetAspireValueData(FieldInfo)

- Name: `GetAspireValueData(FieldInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireValueData?](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L82)

Gets [AspireValueData](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) from the specified `field`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireValueData? GetAspireValueData(
        FieldInfo field)
    {
        // ...
    }
}
```

## Parameters

- `field` (`FieldInfo`)

## GetAspireValueData(PropertyInfo)

- Name: `GetAspireValueData(PropertyInfo)`
- Modifiers: `static` `nullable`
- Returns: [AspireValueData?](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L88)

Gets [AspireValueData](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) from the specified `property`, if present.

```csharp
public static class AttributeDataReader
{
    public static AspireValueData? GetAspireValueData(
        PropertyInfo property)
    {
        // ...
    }
}
```

## Parameters

- `property` (`PropertyInfo`)

## GetObsoleteData(MethodInfo)

- Name: `GetObsoleteData(MethodInfo)`
- Modifiers: `static` `nullable`
- Returns: [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L110)

Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `method`, if present.

```csharp
public static class AttributeDataReader
{
    public static ObsoleteData? GetObsoleteData(
        MethodInfo method)
    {
        // ...
    }
}
```

## Parameters

- `method` (`MethodInfo`)

## GetObsoleteData(PropertyInfo)

- Name: `GetObsoleteData(PropertyInfo)`
- Modifiers: `static` `nullable`
- Returns: [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L116)

Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `property`, if present.

```csharp
public static class AttributeDataReader
{
    public static ObsoleteData? GetObsoleteData(
        PropertyInfo property)
    {
        // ...
    }
}
```

## Parameters

- `property` (`PropertyInfo`)

## GetObsoleteData(Type)

- Name: `GetObsoleteData(Type)`
- Modifiers: `static` `nullable`
- Returns: [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L122)

Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `type`, if present.

```csharp
public static class AttributeDataReader
{
    public static ObsoleteData? GetObsoleteData(
        Type type)
    {
        // ...
    }
}
```

## Parameters

- `type` (`Type`)

## HasAspireDtoData(Type)

- Name: `HasAspireDtoData(Type)`
- Modifiers: `static`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L74)

Determines whether the specified `type` has the AspireDto attribute.

```csharp
public static class AttributeDataReader
{
    public static bool HasAspireDtoData(
        Type type)
    {
        // ...
    }
}
```

## Parameters

- `type` (`Type`)

## HasAspireExportIgnoreData(Type)

- Name: `HasAspireExportIgnoreData(Type)`
- Modifiers: `static`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L54)

Determines whether the specified `type` has the AspireExportIgnore attribute.

```csharp
public static class AttributeDataReader
{
    public static bool HasAspireExportIgnoreData(
        Type type)
    {
        // ...
    }
}
```

## Parameters

- `type` (`Type`)

## HasAspireExportIgnoreData(PropertyInfo)

- Name: `HasAspireExportIgnoreData(PropertyInfo)`
- Modifiers: `static`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L60)

Determines whether the specified `property` has the AspireExportIgnore attribute.

```csharp
public static class AttributeDataReader
{
    public static bool HasAspireExportIgnoreData(
        PropertyInfo property)
    {
        // ...
    }
}
```

## Parameters

- `property` (`PropertyInfo`)

## HasAspireExportIgnoreData(MethodInfo)

- Name: `HasAspireExportIgnoreData(MethodInfo)`
- Modifiers: `static`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs#L66)

Determines whether the specified `method` has the AspireExportIgnore attribute.

```csharp
public static class AttributeDataReader
{
    public static bool HasAspireExportIgnoreData(
        MethodInfo method)
    {
        // ...
    }
}
```

## Parameters

- `method` (`MethodInfo`)
