    

 ## On this page

  

 

 # Class KernelObject

 Last update: 09.03.2026 

<a id="VM_CAD_Kernel_KernelObject"></a>

Namespace: [VM.CAD.Kernel](VM.CAD.Kernel.md)  
Assembly: VM.CAD.Kernel.dll

```csharp
public abstract class KernelObject

```

#### Inheritance

object ← [KernelObject](VM.CAD.Kernel.KernelObject.md)

#### Derived

[Application](VM.CAD.Kernel.Application.md), [Canvas](VM.CAD.Kernel.Render.Canvas.md), [Document](VM.CAD.Kernel.Document.md), [Entity](VM.CAD.Kernel.Entity.md), [Kernel](VM.CAD.Kernel.Kernel.md), [KernelExtension](VM.CAD.Kernel.KernelExtension.md), [Layer](VM.CAD.Kernel.Layer.md), [LayerManager](VM.CAD.Kernel.LayerManager.md), [Session](VM.CAD.Kernel.Session.md)

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

### <a id="VM_CAD_Kernel_KernelObject__ctor_System_UIntPtr_System_Boolean_"></a> KernelObject(UIntPtr, bool)

```csharp
protected KernelObject(UIntPtr key, bool isLock = true)

```

#### Parameters

`key` UIntPtr

`isLock` bool

## Fields

### <a id="VM_CAD_Kernel_KernelObject_VMK_ARGUMENT_NULL"></a> VMK\_ARGUMENT\_NULL

```csharp
protected const int VMK_ARGUMENT_NULL = 1

```

#### Field Value

int

### <a id="VM_CAD_Kernel_KernelObject_VMK_ARGUMENT_TYPE"></a> VMK\_ARGUMENT\_TYPE

```csharp
protected const int VMK_ARGUMENT_TYPE = 2

```

#### Field Value

int

### <a id="VM_CAD_Kernel_KernelObject_VMK_OK"></a> VMK\_OK

```csharp
protected const int VMK_OK = 0

```

#### Field Value

int

## Properties

### <a id="VM_CAD_Kernel_KernelObject_Key"></a> Key

```csharp
public UIntPtr Key { get; }

```

#### Property Value

UIntPtr

## Methods

### <a id="VM_CAD_Kernel_KernelObject_Dispose"></a> Dispose()

```csharp
public void Dispose()

```

### <a id="VM_CAD_Kernel_KernelObject_DisposeManagedResource"></a> DisposeManagedResource()

```csharp
protected virtual void DisposeManagedResource()

```

### <a id="VM_CAD_Kernel_KernelObject_DisposeUnmanagedResource"></a> DisposeUnmanagedResource()

```csharp
protected virtual void DisposeUnmanagedResource()

```

### <a id="VM_CAD_Kernel_KernelObject_Execute_System_Func_System_Int32__"></a> Execute(Func&lt;int&gt;)

```csharp
protected static void Execute(Func<int> function)

```

#### Parameters

`function` Func&lt;int&gt;

### <a id="VM_CAD_Kernel_KernelObject_GetFrom__1_VM_CAD_Kernel_KernelObject_delGetFrom___0__System_Boolean_"></a> GetFrom&lt;TResult&gt;(delGetFrom&lt;TResult&gt;, bool)

```csharp
protected static TResult GetFrom<TResult>(KernelObject.delGetFrom<TResult> getFrom, bool checkFunctionReturnValue = true)

```

#### Parameters

`getFrom` [KernelObject](VM.CAD.Kernel.KernelObject.md).[delGetFrom](VM.CAD.Kernel.KernelObject.delGetFrom-1.md)&lt;TResult&gt;

`checkFunctionReturnValue` bool

#### Returns

TResult

#### Type Parameters

`TResult`