    

 ## On this page

  

 

 # Class ProjectObjectBase

 Last update: 16.07.2025 

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

```csharp
public abstract class ProjectObjectBase : ObservableObject, IObservableObject, IProjectObject, IHasID, IHasName, IDisposableObject

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← [ProjectObjectBase](VM.Models.ProjectObjectBase.md)

#### Derived

[ProjectDocument](VM.Models.ProjectDocument.md), [ScenarioBase](VM.Models.ScenarioBase.md), [StepBase](VM.Models.StepBase.md)

#### Implements

IObservableObject, [IProjectObject](VM.Models.IProjectObject.md), IHasID, IHasName, IDisposableObject

#### Inherited Members

ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### 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_)

## Constructors

### ProjectObjectBase()

```csharp
protected ProjectObjectBase()

```

## Properties

### DisplayName

```csharp
[Browsable(false)]
public virtual string DisplayName { get; }

```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### ID

```csharp
[Browsable(false)]
public virtual Identifier ID { get; }

```

#### Property Value

Identifier

### Name

```csharp
public virtual string Name { get; set; }

```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

## Methods

### DisposeManagedResources()

```csharp
protected override void DisposeManagedResources()

```

### OnDeserialization(object)

```csharp
public virtual void OnDeserialization(object sender)

```

#### Parameters

`sender` [object](https://learn.microsoft.com/dotnet/api/system.object)