    

 ## On this page

  

 

 # Interface IStep

 Last update: 09.03.2026 

<a id="VM_Models_IStep"></a>

Namespace: [VM.Models](VM.Models.md)  
Assembly: VM.Models.Project.dll

```csharp
public interface IStep : IProjectObject, IHasID, IHasName, IDisposableObject, ISelected, IHasParent<IScenario>

```

#### Implements

[IProjectObject](VM.Models.IProjectObject.md), IHasID, IHasName, IDisposableObject, ISelected, IHasParent&lt;IScenario&gt;

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Properties

### <a id="VM_Models_IStep_DefaultCommand"></a> DefaultCommand

```csharp
ICommand DefaultCommand { get; }

```

#### Property Value

ICommand

### <a id="VM_Models_IStep_FilePath"></a> FilePath

```csharp
string FilePath { get; }

```

#### Property Value

string

### <a id="VM_Models_IStep_Items"></a> Items

```csharp
IEnumerable<IStepItem> Items { get; }

```

#### Property Value

IEnumerable&lt;[IStepItem](VM.Models.IStepItem.md)&gt;

### <a id="VM_Models_IStep_ParentDocument"></a> ParentDocument

```csharp
IProjectDocument ParentDocument { get; }

```

#### Property Value

[IProjectDocument](VM.Models.IProjectDocument.md)

### <a id="VM_Models_IStep_Source"></a> Source

```csharp
IStep Source { get; }

```

#### Property Value

[IStep](VM.Models.IStep.md)

### <a id="VM_Models_IStep_State"></a> State

```csharp
StepState State { get; }

```

#### Property Value

[StepState](VM.Models.StepState.md)

### <a id="VM_Models_IStep_TargetApplicationType"></a> TargetApplicationType

```csharp
ApplicationTypes TargetApplicationType { get; }

```

#### Property Value

ApplicationTypes

### <a id="VM_Models_IStep_Targets"></a> Targets

```csharp
IEnumerable<IStep> Targets { get; }

```

#### Property Value

IEnumerable&lt;[IStep](VM.Models.IStep.md)&gt;

### <a id="VM_Models_IStep_Type"></a> Type

```csharp
StepType Type { get; }

```

#### Property Value

[StepType](VM.Models.StepType.md)

### <a id="VM_Models_IStep_Item_System_Int32_"></a> this\[int\]

```csharp
IStepItem this[int index] { get; }

```

#### Property Value

[IStepItem](VM.Models.IStepItem.md)

## Methods

### <a id="VM_Models_IStep_Add_VM_Models_IStepItem_"></a> Add(IStepItem)

```csharp
void Add(IStepItem item)

```

#### Parameters

`item` [IStepItem](VM.Models.IStepItem.md)

### <a id="VM_Models_IStep_AddTarget_VM_Models_IStep_"></a> AddTarget(IStep)

```csharp
void AddTarget(IStep item)

```

#### Parameters

`item` [IStep](VM.Models.IStep.md)

### <a id="VM_Models_IStep_CanRelation_VM_Models_IStep_"></a> CanRelation(IStep)

```csharp
bool CanRelation(IStep source)

```

#### Parameters

`source` [IStep](VM.Models.IStep.md)

#### Returns

bool

### <a id="VM_Models_IStep_ContainsTarget_VM_Models_IStep_"></a> ContainsTarget(IStep)

```csharp
bool ContainsTarget(IStep item)

```

#### Parameters

`item` [IStep](VM.Models.IStep.md)

#### Returns

bool

### <a id="VM_Models_IStep_RemoveTarget_VM_Models_IStep_"></a> RemoveTarget(IStep)

```csharp
void RemoveTarget(IStep item)

```

#### Parameters

`item` [IStep](VM.Models.IStep.md)

### <a id="VM_Models_IStep_ResetSource"></a> ResetSource()

```csharp
void ResetSource()

```

### <a id="VM_Models_IStep_SetSource_VM_Models_IStep_"></a> SetSource(IStep)

```csharp
void SetSource(IStep source)

```

#### Parameters

`source` [IStep](VM.Models.IStep.md)