
# IPartChoiceData interface

*No description yet.*

```csharp
public interface IPartChoiceData : IAbstractObject
```

**Namespace:** ComponentLib · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IAbstractObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IAbstractObject.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [Description](#description) | `string` | get; set |  |
| [GUID](#guid) | `string` | get; set |  |
| [ManufacturerName](#manufacturername) | `string` | get; set |  |
| [MPN](#mpn) | `string` | get; set |  |
| [PartChoiceType](#partchoicetype) | `int` | get; set |  |
| [PartID](#partid) | `string` | get; set |  |
| [PartSourceGUID](#partsourceguid) | `string` | get; set |  |
| [PartSourceName](#partsourcename) | `string` | get; set |  |
| [Rank](#rank) | `int` | get; set |  |
| [RequiredPartChoice](#requiredpartchoice) | [IRequiredPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredPartChoice.md) | get; set |  |

### Description

*No description yet.*

```csharp
string GetDescription();
void SetDescription(string argValue);
```

**Type:** `string` · **Access:** read/write

### GUID

*No description yet.*

```csharp
string GetGUID();
void SetGUID(string argValue);
```

**Type:** `string` · **Access:** read/write

### ManufacturerName

*No description yet.*

```csharp
string GetManufacturerName();
void SetManufacturerName(string argValue);
```

**Type:** `string` · **Access:** read/write

### MPN

*No description yet.*

```csharp
string GetMPN();
void SetMPN(string argValue);
```

**Type:** `string` · **Access:** read/write

### PartChoiceType

*No description yet.*

```csharp
int GetPartChoiceType();
void SetPartChoiceType(int argValue);
```

**Type:** `int` · **Access:** read/write

### PartID

*No description yet.*

```csharp
string GetPartID();
void SetPartID(string argValue);
```

**Type:** `string` · **Access:** read/write

### PartSourceGUID

*No description yet.*

```csharp
string GetPartSourceGUID();
void SetPartSourceGUID(string argValue);
```

**Type:** `string` · **Access:** read/write

### PartSourceName

*No description yet.*

```csharp
string GetPartSourceName();
void SetPartSourceName(string argValue);
```

**Type:** `string` · **Access:** read/write

### Rank

*No description yet.*

```csharp
int GetRank();
void SetRank(int argValue);
```

**Type:** `int` · **Access:** read/write

### RequiredPartChoice

*No description yet.*

```csharp
IRequiredPartChoice GetRequiredPartChoice();
void SetRequiredPartChoice(IRequiredPartChoice argValue);
```

**Type:** [IRequiredPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredPartChoice.md) · **Access:** read/write

The accessors are extension methods of `IPartChoiceDataHelper` (`using ComponentLib;`).

## Returned by

[IComponentLibraryDocument.CreatePartChoiceData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryDocument.md#createpartchoicedata), [IPartChoiceDataList.Get](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceDataList.md#get)

## Accepted by

[IComponentDefinition.PartChoiceRankChanged](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinition.md#partchoicerankchanged), [IPartChoiceDataList.Add](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceDataList.md#add)
