# AttributeDataReader

- Kind: `class`
- Package: [Aspire.TypeSystem](/reference/api/csharp/aspire.typesystem.md)
- Version: `13.4.0`
- Namespace: `Aspire.TypeSystem`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AttributeDataReader.cs)

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.

## Definition

```csharp
namespace Aspire.TypeSystem;

public static class AttributeDataReader
{
    // ...
}
```

## Methods

- [GetAspireExportData(Type)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireexportdata-type) : [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) `static` -- Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `type`, if present.
- [GetAspireExportData(MethodInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireexportdata-methodinfo) : [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) `static` -- Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `method`, if present.
- [GetAspireExportData(PropertyInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireexportdata-propertyinfo) : [AspireExportData?](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) `static` -- Gets [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) from the specified `property`, if present.
- [GetAspireExportDataAll(Assembly)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireexportdataall-assembly) : [IEnumerable<AspireExportData>](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) `static` -- Gets all [AspireExportData](/reference/api/csharp/aspire.typesystem/aspireexportdata.md) entries from the specified `assembly`.
- [GetAspireUnionData(ParameterInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireuniondata-parameterinfo) : [AspireUnionData?](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) `static` -- Gets [AspireUnionData](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) from the specified `parameter`, if present.
- [GetAspireUnionData(PropertyInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspireuniondata-propertyinfo) : [AspireUnionData?](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) `static` -- Gets [AspireUnionData](/reference/api/csharp/aspire.typesystem/aspireuniondata.md) from the specified `property`, if present.
- [GetAspireValueData(FieldInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspirevaluedata-fieldinfo) : [AspireValueData?](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) `static` -- Gets [AspireValueData](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) from the specified `field`, if present.
- [GetAspireValueData(PropertyInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getaspirevaluedata-propertyinfo) : [AspireValueData?](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) `static` -- Gets [AspireValueData](/reference/api/csharp/aspire.typesystem/aspirevaluedata.md) from the specified `property`, if present.
- [GetObsoleteData(MethodInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getobsoletedata-methodinfo) : [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md) `static` -- Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `method`, if present.
- [GetObsoleteData(PropertyInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getobsoletedata-propertyinfo) : [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md) `static` -- Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `property`, if present.
- [GetObsoleteData(Type)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#getobsoletedata-type) : [ObsoleteData?](/reference/api/csharp/aspire.typesystem/obsoletedata.md) `static` -- Gets [ObsoleteData](/reference/api/csharp/aspire.typesystem/obsoletedata.md) from the specified `type`, if present.
- [HasAspireDtoData(Type)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#hasaspiredtodata-type) : `bool` `static` -- Determines whether the specified `type` has the AspireDto attribute.
- [HasAspireExportIgnoreData(Type)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#hasaspireexportignoredata-type) : `bool` `static` -- Determines whether the specified `type` has the AspireExportIgnore attribute.
- [HasAspireExportIgnoreData(PropertyInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#hasaspireexportignoredata-propertyinfo) : `bool` `static` -- Determines whether the specified `property` has the AspireExportIgnore attribute.
- [HasAspireExportIgnoreData(MethodInfo)](/reference/api/csharp/aspire.typesystem/attributedatareader/methods.md#hasaspireexportignoredata-methodinfo) : `bool` `static` -- Determines whether the specified `method` has the AspireExportIgnore attribute.
