    

 ## On this page

  

 

 # Class ContainerObject&lt;TEventCore\\&gt;

 Last update: 16.07.2025 

Namespace: [VM.Managed](VM.Managed.md)  
Assembly: VMAppCore.dll

This class is to represent the DAFUL object that can contain other DAFUL objects.

```csharp
public abstract class ContainerObject<TEventCore> : Object<TEventCore>, IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, ILinkContainer, IOwned, IHasID where TEventCore : ObjectEventCore, new()

```

#### Type Parameters

`TEventCore`

The event core.

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← [ObjectBase](VM.Managed.ObjectBase.md) ← [Object&lt;TEventCore&gt;](VM.Managed.Object-1.md) ← [ContainerObject&lt;TEventCore&gt;](VM.Managed.ContainerObject-1.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, IEventProvider, IHasKeyObject, [ILinkContainerEvent](VM.Managed.ILinkContainerEvent.md), [IVerifiable](VM.Managed.IVerifiable.md), IHistoryObjectSerializable, [IAttributeContainer](VM.Managed.IAttributeContainer.md), IContainer, ILinkContainer, IOwned, IHasID

#### Inherited Members

[Object&lt;TEventCore&gt;.GetKey()](VM.Managed.Object-1.md#VM_Managed_Object_1_GetKey), [Object&lt;TEventCore&gt;.Initialize(Unit.ConvertFactor)](VM.Managed.Object-1.md#VM_Managed_Object_1_Initialize_VM_Unit_ConvertFactor_), [Object&lt;TEventCore&gt;.SetIconColor(Canvas)](VM.Managed.Object-1.md#VM_Managed_Object_1_SetIconColor_VM_CAD_Kernel_Render_Canvas_), [Object&lt;TEventCore&gt;.OnDeserialization(object)](VM.Managed.Object-1.md#VM_Managed_Object_1_OnDeserialization_System_Object_), [Object&lt;TEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext)](VM.Managed.Object-1.md#VM_Managed_Object_1_CustomGetObjectData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [Object&lt;TEventCore&gt;.RollbackEvent()](VM.Managed.Object-1.md#VM_Managed_Object_1_RollbackEvent), [Object&lt;TEventCore&gt;.OnDeserializedCore(object)](VM.Managed.Object-1.md#VM_Managed_Object_1_OnDeserializedCore_System_Object_), [Object&lt;TEventCore&gt;.Key](VM.Managed.Object-1.md#VM_Managed_Object_1_Key), [Object&lt;TEventCore&gt;.UntypedEventCore](VM.Managed.Object-1.md#VM_Managed_Object_1_UntypedEventCore), [Object&lt;TEventCore&gt;.EventCore](VM.Managed.Object-1.md#VM_Managed_Object_1_EventCore), [Object&lt;TEventCore&gt;.Attributes](VM.Managed.Object-1.md#VM_Managed_Object_1_Attributes), [ObjectBase.ReplaceEventCore(ObjectEventCore)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ReplaceEventCore_VM_Managed_ObjectEventCore_), [ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetModifiedCore_VM_Managed_ModifiedResult_ModifiedType_), [ObjectBase.AddPostDeserialize(StreamingContext)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_AddPostDeserialize_System_Runtime_Serialization_StreamingContext_), [ObjectBase.LinkAddedToDocumentCore(IOwned, bool)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkAddedToDocumentCore_VM_Models_Pre_IOwned_System_Boolean_), [ObjectBase.SetModified(ModifiedResult.ModifiedType)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetModified_VM_Managed_ModifiedResult_ModifiedType_), [ObjectBase.SetModified()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetModified), [ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetModified_VM_Managed_ModifiedResult_ModifiedType_VM_Models_Pre_IDocument_), [ObjectBase.DestroyObject(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_DestroyObject_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.DestroyObject(DestroyEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_DestroyObject_VM_Managed_DestroyEventArgs_), [ObjectBase.DestroyObject()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_DestroyObject), [ObjectBase.Initialize(Unit.ConvertFactor)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Initialize_VM_Unit_ConvertFactor_), [ObjectBase.FixUp(ObjectBase)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_FixUp_VM_Managed_ObjectBase_), [ObjectBase.DoWorkAfterUpdateContents()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_DoWorkAfterUpdateContents), [ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetOldNameWithNewEntity_VM_Managed_ObjectBase_VM_Managed_ObjectBase_), [ObjectBase.SetIconColor(Canvas)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetIconColor_VM_CAD_Kernel_Render_Canvas_), [ObjectBase.RemoveFromCreatedList()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_RemoveFromCreatedList), [ObjectBase.PostAddToDocument()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_PostAddToDocument), [ObjectBase.PostRemoveFromDocument(Document)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_PostRemoveFromDocument_VM_Managed_Document_), [ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_GetArgumentList_System_Collections_Generic_LinkedList_VM_Managed_ObjectBase__), [ObjectBase.ResetInvalidEntity()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ResetInvalidEntity), [ObjectBase.OnDeserialization(object)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnDeserialization_System_Object_), [ObjectBase.IsSerializableEvent(Delegate)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_IsSerializableEvent_System_Delegate_), [ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_CustomGetObjectData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_CheckAndUpdateLink_System_Collections_Generic_HashSet_VM_Managed_ObjectBase__), [ObjectBase.Verify(VerifiedResult)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Verify_VM_Managed_VerifiedResult_), [ObjectBase.ConnectProxy()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ConnectProxy), [ObjectBase.RollbackEvent()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_RollbackEvent), [ObjectBase.LinkRequestUpdating(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkRequestUpdating_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.LinkRequestUpdate(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.LinkRequestDestroying(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkRequestDestroying_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.LinkRequestDestroy(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkRequestDestroy_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkAddedToDocument_System_Object_VM_Managed_AddToDocEventArgs_), [ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_LinkRemovedFromDocument_System_Object_VM_Managed_RemoveFromDocEventArgs_), [ObjectBase.DisposeManagedResources()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_DisposeManagedResources), [ObjectBase.GetDestroyEventExtraData()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_GetDestroyEventExtraData), [ObjectBase.OnLinkReserved(ILink, object, EventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnLinkReserved_VM_Managed_ILink_System_Object_System_EventArgs_), [ObjectBase.CreateEntityWhenUpdateContents(Action)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_CreateEntityWhenUpdateContents_System_Action_), [ObjectBase.GetObjectByKey(UIntPtr)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_GetObjectByKey_System_UIntPtr_), [ObjectBase.FindObjectOnXmlDeserialize(string)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_FindObjectOnXmlDeserialize_System_String_), [ObjectBase.UpdateContents(XmlReader, ObjectBase, string)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_UpdateContents_System_Xml_XmlReader_VM_Managed_ObjectBase_System_String_), [ObjectBase.UpdateContents(XmlReader, ObjectBase)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_UpdateContents_System_Xml_XmlReader_VM_Managed_ObjectBase_), [ObjectBase.UpdateContents(string, string)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_UpdateContents_System_String_System_String_), [ObjectBase.UpdateContents(string)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_UpdateContents_System_String_), [ObjectBase.SetFlagWhenXMLFile(string, bool)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetFlagWhenXMLFile_System_String_System_Boolean_), [ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\])](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_IsEqualArray__1___0_____0___), [ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_IsEqualList_System_Collections_Generic_List_System_Double__System_Collections_Generic_List_System_Double__), [ObjectBase.SetContainer(IOwned, bool)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SetContainer_VM_Models_Pre_IOwned_System_Boolean_), [ObjectBase.GetTargetListForUpdate()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_GetTargetListForUpdate), [ObjectBase.SkipUpdateObjectImpl()](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SkipUpdateObjectImpl), [ObjectBase.raise\_OnUpdating(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnUpdating_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.raise\_OnUpdate(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnUpdate_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.raise\_OnDestroying(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnDestroying_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.raise\_OnDestroy(object, LinkEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnDestroy_System_Object_VM_Managed_LinkEventArgs_), [ObjectBase.raise\_Destroying(object, Identifier)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_Destroying_System_Object_VM_Identifier_), [ObjectBase.raise\_OnAdded(object, AddToDocEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnAdded_System_Object_VM_Managed_AddToDocEventArgs_), [ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnRemoved_System_Object_VM_Managed_RemoveFromDocEventArgs_), [ObjectBase.raise\_OnContentsUpdated(object, EventArgs)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_raise_OnContentsUpdated_System_Object_System_EventArgs_), [ObjectBase.Dispose(bool)](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Dispose_System_Boolean_), [ObjectBase.SkipModified](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_SkipModified), [ObjectBase.ClearChildInfoBeforeDeserialize](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ClearChildInfoBeforeDeserialize), [ObjectBase.KeyImpl](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_KeyImpl), [ObjectBase.ID](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ID), [ObjectBase.TopologyEntityTypeName](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_TopologyEntityTypeName), [ObjectBase.ObjectStateForCircularError](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ObjectStateForCircularError), [ObjectBase.ObjectState](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_ObjectState), [ObjectBase.IsChildExternable](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_IsChildExternable), [ObjectBase.IsExternable](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_IsExternable), [ObjectBase.Container](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Container), [ObjectBase.Owner](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Owner), [ObjectBase.Document](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Document), [ObjectBase.UntypedEventCore](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_UntypedEventCore), [ObjectBase.KernelKey](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_KernelKey), [ObjectBase.Key](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Key), [ObjectBase.OnContentsUpdated](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnContentsUpdated), [ObjectBase.OnRemoved](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnRemoved), [ObjectBase.OnAdded](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnAdded), [ObjectBase.Destroying](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_Destroying), [ObjectBase.OnDestroy](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnDestroy), [ObjectBase.OnDestroying](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnDestroying), [ObjectBase.OnUpdate](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnUpdate), [ObjectBase.OnUpdating](VM.Managed.ObjectBase.md#VM_Managed_ObjectBase_OnUpdating), LinkableBase.OnDeserialization(object), 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

### ContainerObject()

Initializes a new instance of the  class.

```csharp
public ContainerObject()

```

### ContainerObject(string, string)

Initializes a new instance of the  class.

```csharp
protected ContainerObject(string strProxyName, string strBuildInfo)

```

#### Parameters

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

The name of proxy.

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

The build information.

## Methods

### Find(string)

Find DAFUL object from the container by full name.

```csharp
public virtual IObjectBase Find(string strName)

```

#### Parameters

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

The DAFUL object full name.

#### Returns

IObjectBase

The DAFUL object.

### FindLocal(string)

Find DAFUL object from the container by name.

```csharp
public virtual IObjectBase FindLocal(string A_0)

```

#### Parameters

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

#### Returns

IObjectBase

The DAFUL object.

### GetNewEntityName(string)

Generate an unique DAFUL object name from the container using the prefix name.

```csharp
public string GetNewEntityName(string strPrefix)

```

#### Parameters

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

The DAFUL object prefix name.

#### Returns

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

The DAFUL object name.

### GetNewEntityName(string, bool, int)

Generate an unique DAFUL object name from the container using the prefix name.

```csharp
public string GetNewEntityName(string strPrefix, bool bUseUnderLine, int nNumFigure)

```

#### Parameters

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

The DAFUL object prefix name.

`bUseUnderLine` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Whether use underline.

`nNumFigure` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The Number of Figure.

#### Returns

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

The DAFUL object name.

### GetNewEntityName(string, bool, int, int)

Generate an unique DAFUL object name from the container using the prefix name.

```csharp
public string GetNewEntityName(string strPrefix, bool bUseUnderLine, int nNumFigure, int nStartIndex)

```

#### Parameters

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

The DAFUL object prefix name.

`bUseUnderLine` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

Whether use underline.

`nNumFigure` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The Number of Figure.

`nStartIndex` [int](https://learn.microsoft.com/dotnet/api/system.int32)

The start index.

#### Returns

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

The DAFUL object name.

### GetUnnamedObjectName(object)

Get an unnamed object name.

```csharp
public virtual string GetUnnamedObjectName(object obUnnamed)

```

#### Parameters

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

The unnamed object.

#### Returns

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

The unnamed object name.