
# IAbstractItem interface

*No description yet.*

```csharp
public interface IAbstractItem : IGloballyIdentifiedObject
```

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

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

**Derived:** [IAbstractGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IAbstractGroup.md), [IComponentDefinition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinition.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [ParentGroup](#parentgroup) | [IAbstractGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IAbstractGroup.md) | get; set |  |
| [StateIndex](#stateindex) | `int` | get; set |  |

### ParentGroup

*No description yet.*

```csharp
IAbstractGroup GetParentGroup();
void SetParentGroup(IAbstractGroup argValue);
```

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

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

### StateIndex

*No description yet.*

```csharp
int GetStateIndex();
void SetStateIndex(int argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [ComponentTypes](#componenttypes) | [IComponentType](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentType.md) |  |
| [FindParameterByName](#findparameterbyname) | [IParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IParameter.md) |  |
| [GetID](#getid) | `string` |  |
| [ModelChoices](#modelchoices) | [IModelChoiceList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IModelChoiceList.md) |  |
| [Parameters](#parameters) | [IParameterList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IParameterList.md) |  |
| [SetId](#setid) | `void` |  |

### ComponentTypes

*No description yet.*

```csharp
IComponentType ComponentTypes();
```

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

Extension method of `IAbstractItemHelper` (`using ComponentLib;`).

### FindParameterByName

*No description yet.*

```csharp
IParameter FindParameterByName(string argName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |

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

Extension method of `IAbstractItemHelper` (`using ComponentLib;`).

### GetID

*No description yet.*

```csharp
string GetID();
```

**Returns:** `string`

### ModelChoices

*No description yet.*

```csharp
IModelChoiceList ModelChoices();
```

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

Extension method of `IAbstractItemHelper` (`using ComponentLib;`).

### Parameters

*No description yet.*

```csharp
IParameterList Parameters();
```

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

Extension method of `IAbstractItemHelper` (`using ComponentLib;`).

### SetId

*No description yet.*

```csharp
void SetId(string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `string` | value |

**Returns:** nothing (`void`)

## Inherited members

- From [IGloballyIdentifiedObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IGloballyIdentifiedObject.md): [GUID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IGloballyIdentifiedObject.md#guid)

## Accepted by

[IComponentDefinitionList.Add](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinitionList.md#add)
