
# ICMP_ObjectDifference interface

*No description yet.*

```csharp
public interface ICMP_ObjectDifference : ICMP_Difference
```

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

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

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [ApplyPriority](#applypriority) | `int` | get; set |  |
| [ChangesKind](#changeskind) | [TCMP_ChangesKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TCMP_ChangesKind.md) | get; set |  |
| [Handle](#handle) | `string` | get; set |  |
| [Metadata](#metadata) | `string` | get; set |  |
| [NewLayerId](#newlayerid) | `int` | get; set |  |
| [NewNetName](#newnetname) | `string` | get; set |  |
| [NewObject](#newobject) | `object` | get; set |  |
| [ObjectGroup](#objectgroup) | `string` | get; set |  |
| [ObjectKind](#objectkind) | `string` | get; set |  |
| [OldLayerId](#oldlayerid) | `int` | get; set |  |
| [OldNetName](#oldnetname) | `string` | get; set |  |
| [OldObject](#oldobject) | `object` | get; set |  |

### ApplyPriority

*No description yet.*

```csharp
int GetApplyPriority();
void SetApplyPriority(int argValue);
```

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

### ChangesKind

*No description yet.*

```csharp
TCMP_ChangesKind GetChangesKind();
void SetChangesKind(TCMP_ChangesKind argValue);
```

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

The accessors are extension methods of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### Handle

*No description yet.*

```csharp
string GetHandle();
void SetHandle(string argValue);
```

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

### Metadata

*No description yet.*

```csharp
string GetMetadata();
void SetMetadata(string argValue);
```

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

### NewLayerId

*No description yet.*

```csharp
int GetNewLayerId();
void SetNewLayerId(int argValue);
```

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

### NewNetName

*No description yet.*

```csharp
string GetNewNetName();
void SetNewNetName(string argValue);
```

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

### NewObject

*No description yet.*

```csharp
object GetNewObject();
void SetNewObject(object argValue);
```

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

### ObjectGroup

*No description yet.*

```csharp
string GetObjectGroup();
void SetObjectGroup(string argValue);
```

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

### ObjectKind

*No description yet.*

```csharp
string GetObjectKind();
void SetObjectKind(string argValue);
```

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

### OldLayerId

*No description yet.*

```csharp
int GetOldLayerId();
void SetOldLayerId(int argValue);
```

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

### OldNetName

*No description yet.*

```csharp
string GetOldNetName();
void SetOldNetName(string argValue);
```

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

### OldObject

*No description yet.*

```csharp
object GetOldObject();
void SetOldObject(object argValue);
```

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

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddNewPropertyDifference](#addnewpropertydifference) | [ICMP_PropertyDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyDifference.md) |  |
| [AddNewPropertyValue](#addnewpropertyvalue) | [ICMP_PropertyValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyValue.md) |  |
| [AddPropertyDifference](#addpropertydifference) | `void` |  |
| [AddPropertyValue](#addpropertyvalue) | `void` |  |
| [ClearPropertyDifferences](#clearpropertydifferences) | `void` |  |
| [ClearPropertyValues](#clearpropertyvalues) | `void` |  |
| [DeletePropertyDifference](#deletepropertydifference) | `void` |  |
| [DeletePropertyValue](#deletepropertyvalue) | `void` |  |
| [ExpandObjectDifferences](#expandobjectdifferences) | [ICMP_ObjectDifferenceList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectDifferenceList.md) |  |
| [ExpandObjectDifferencesWithCallback](#expandobjectdifferenceswithcallback) | [ICMP_ObjectDifferenceList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectDifferenceList.md) |  |
| [GetPropertyDifference](#getpropertydifference) | [ICMP_PropertyDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyDifference.md) |  |
| [GetPropertyDifferenceCount](#getpropertydifferencecount) | `int` |  |
| [GetPropertyValue](#getpropertyvalue) | [ICMP_PropertyValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyValue.md) |  |
| [GetPropertyValueCount](#getpropertyvaluecount) | `int` |  |
| [RemoveDifference](#removedifference) | `bool` |  |

### AddNewPropertyDifference

*No description yet.*

```csharp
ICMP_PropertyDifference AddNewPropertyDifference(TCMP_PropertyDifferenceKind argKind);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argKind` | [TCMP_PropertyDifferenceKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TCMP_PropertyDifferenceKind.md) | value |

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### AddNewPropertyValue

*No description yet.*

```csharp
ICMP_PropertyValue AddNewPropertyValue();
```

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### AddPropertyDifference

*No description yet.*

```csharp
void AddPropertyDifference(ICMP_PropertyDifference argDifference);
void AddPropertyDifference(object argDifference);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDifference` | [ICMP_PropertyDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyDifference.md) | value |

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

The first overload is an extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`) with typed parameters; the second is declared by the interface.

### AddPropertyValue

*No description yet.*

```csharp
void AddPropertyValue(ICMP_PropertyValue argValue);
void AddPropertyValue(object argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | [ICMP_PropertyValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PropertyValue.md) | value |

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

The first overload is an extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`) with typed parameters; the second is declared by the interface.

### ClearPropertyDifferences

*No description yet.*

```csharp
void ClearPropertyDifferences();
```

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

### ClearPropertyValues

*No description yet.*

```csharp
void ClearPropertyValues();
```

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

### DeletePropertyDifference

*No description yet.*

```csharp
void DeletePropertyDifference(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

### DeletePropertyValue

*No description yet.*

```csharp
void DeletePropertyValue(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

### ExpandObjectDifferences

*No description yet.*

```csharp
ICMP_ObjectDifferenceList ExpandObjectDifferences(bool argRecursive);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argRecursive` | `bool` | value |

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### ExpandObjectDifferencesWithCallback

*No description yet.*

```csharp
ICMP_ObjectDifferenceList ExpandObjectDifferencesWithCallback(ICMP_NeedExpandObjectDiffCallback argNeedExpandCallback);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argNeedExpandCallback` | [ICMP_NeedExpandObjectDiffCallback](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_NeedExpandObjectDiffCallback.md) | value |

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### GetPropertyDifference

*No description yet.*

```csharp
ICMP_PropertyDifference GetPropertyDifference(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### GetPropertyDifferenceCount

*No description yet.*

```csharp
int GetPropertyDifferenceCount();
```

**Returns:** `int`

### GetPropertyValue

*No description yet.*

```csharp
ICMP_PropertyValue GetPropertyValue(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

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

Extension method of `ICMP_ObjectDifferenceHelper` (`using EDP;`).

### GetPropertyValueCount

*No description yet.*

```csharp
int GetPropertyValueCount();
```

**Returns:** `int`

### RemoveDifference

*No description yet.*

```csharp
bool RemoveDifference(uint argDifferenceId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDifferenceId` | `uint` | value |

**Returns:** `bool`

## Inherited members

- From [ICMP_Difference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md): [CopyFrom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md#copyfrom), [DisplayText](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md#displaytext), [GetId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md#getid), [Name](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md#name), [Tag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_Difference.md#tag)

## Returned by

[ICMP_CollectionPropertyDifference.AddNewObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_CollectionPropertyDifference.md#addnewobjectdifference), [ICMP_CollectionPropertyDifference.GetObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_CollectionPropertyDifference.md#getobjectdifference), [ICMP_ComparisonServer.CreateObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ComparisonServer.md#createobjectdifference), [ICMP_ConflictingChange.GetMine](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ConflictingChange.md#getmine), [ICMP_ConflictingChange.GetTheirs](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ConflictingChange.md#gettheirs), [ICMP_ConflictingChange.Resolved](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ConflictingChange.md#resolved), [ICMP_DocumentChanges.Differences](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_DocumentChanges.md#differences), [ICMP_DocumentComparer.CompareObjects](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_DocumentComparer.md#compareobjects), [ICMP_ObjectDifferenceList.Get](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectDifferenceList.md#get), [ICMP_ObjectModelComparer.CompareObjects](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectModelComparer.md#compareobjects), [ICMP_ObjectPropertyDifference.ObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectPropertyDifference.md#objectdifference)

## Accepted by

[ICMP_ChangesApplierCallback.ApplyCallback](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ChangesApplierCallback.md#applycallback), [ICMP_CollectionPropertyDifference.AddObjectDifference](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_CollectionPropertyDifference.md#addobjectdifference), [ICMP_NeedExpandObjectDiffCallback.NeedExpanding](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_NeedExpandObjectDiffCallback.md#needexpanding), [ICMP_ObjectDifferenceList.Add](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_ObjectDifferenceList.md#add), [ICMP_PCBChangesApplier.ApplyChanges](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBChangesApplier.md#applychanges), [ICMP_PCBChangesApplier.ApplyChangesWithCallback](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBChangesApplier.md#applychangeswithcallback), [ICMP_PCBThreeWayComparer.IsConflictingChange](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ICMP_PCBThreeWayComparer.md#isconflictingchange)
