    

 ## On this page

  

 

 # Class MultipleContactBase

 Last update: 16.07.2025 

Namespace: [VM.Managed.DAFUL.Contact](VM.Managed.DAFUL.Contact.md)  
Assembly: VMDCt.dll

This base class is to represent the base of multiple contact.

```csharp
[CanNotOpenWithNewPreprocessor]
public abstract class MultipleContactBase : Contact<PropertyMultiContact>, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IEnableForSimulationScenario, IDraw, IDrawIcon, ITemplateObject, IArgument, IReportable, IReferencable

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;EntityEventCore&gt; ← ContainerObject&lt;EntityEventCore&gt; ← EntityBase ← Entity&lt;PropertyMultiContact&gt; ← [Contact&lt;PropertyMultiContact&gt;](VM.Managed.DAFUL.Contact.Contact-1.md) ← [MultipleContactBase](VM.Managed.DAFUL.Contact.MultipleContactBase.md)

#### Derived

[MbyNContact](VM.Managed.DAFUL.Contact.MbyNContact.md), [NCombinationContact](VM.Managed.DAFUL.Contact.NCombinationContact.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IEnableForSimulationScenario, IDraw, IDrawIcon, ITemplateObject, IArgument, IReportable, IReferencable

#### Inherited Members

[Contact&lt;PropertyMultiContact&gt;.UpdateIcon()](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_UpdateIcon), [Contact&lt;PropertyMultiContact&gt;.Draw(Canvas)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_Draw_VM_CAD_Kernel_Render_Canvas_), [Contact&lt;PropertyMultiContact&gt;.ReDraw()](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReDraw), [Contact&lt;PropertyMultiContact&gt;.WriteTemplateImpl(XmlWriter)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_WriteTemplateImpl_System_Xml_XmlWriter_), [Contact&lt;PropertyMultiContact&gt;.ReadTemplateImpl(XmlReader)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReadTemplateImpl_System_Xml_XmlReader_), [Contact&lt;PropertyMultiContact&gt;.LinkRequestUpdate(object, LinkEventArgs)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_), [Contact&lt;PropertyMultiContact&gt;.LinkRequestDestroy(object, LinkEventArgs)](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_LinkRequestDestroy_System_Object_VM_Managed_LinkEventArgs_), [Contact&lt;PropertyMultiContact&gt;.HasLayerExplicitly](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_HasLayerExplicitly), [Contact&lt;PropertyMultiContact&gt;.Hide](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_Hide), [Contact&lt;PropertyMultiContact&gt;.ReferenceType](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReferenceType), [Contact&lt;PropertyMultiContact&gt;.ArgumentType](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ArgumentType), [Contact&lt;PropertyMultiContact&gt;.ReportTypeImpl](VM.Managed.DAFUL.Contact.Contact-1.md#VM_Managed_DAFUL_Contact_Contact_1_ReportTypeImpl), Entity&lt;PropertyMultiContact&gt;.Initialize(Unit.ConvertFactor), Entity&lt;PropertyMultiContact&gt;.GetUnnamedObjectName(object), Entity&lt;PropertyMultiContact&gt;.FindLocal(string), Entity&lt;PropertyMultiContact&gt;.Property, EntityBase.Initialize(Unit.ConvertFactor), EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), EntityBase.PropertyRequestUpdate(object, LinkEventArgs), EntityBase.OnDeserializationForAttribute(), EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs), EntityBase.LinkRequestDestroying(object, LinkEventArgs), EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), EntityBase.FixUp(ObjectBase), EntityBase.FindLocal(string), EntityBase.WriteTemplateImpl(XmlWriter), EntityBase.ReadTemplateImpl(XmlReader), EntityBase.LinkAddedToDocument(object, AddToDocEventArgs), EntityBase.OnDeserialization(object), EntityBase.Name, EntityBase.FullName, EntityBase.NonSymmetricName, EntityBase.DisplayName, EntityBase.IsEnabled, EntityBase.Comment, EntityBase.HasLayerExplicitly, EntityBase.UntypedProperty, EntityBase.IsFileProperty, EntityBase.Layer, EntityBase.IsVisible, ContainerObject&lt;EntityEventCore&gt;.Find(string), ContainerObject&lt;EntityEventCore&gt;.FindLocal(string), ContainerObject&lt;EntityEventCore&gt;.GetUnnamedObjectName(object), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int), ContainerObject&lt;EntityEventCore&gt;.GetNewEntityName(string, bool, int, int), Object&lt;EntityEventCore&gt;.GetKey(), Object&lt;EntityEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;EntityEventCore&gt;.SetIconColor(Canvas), Object&lt;EntityEventCore&gt;.OnDeserialization(object), Object&lt;EntityEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;EntityEventCore&gt;.RollbackEvent(), Object&lt;EntityEventCore&gt;.OnDeserializedCore(object), Object&lt;EntityEventCore&gt;.Key, Object&lt;EntityEventCore&gt;.UntypedEventCore, Object&lt;EntityEventCore&gt;.EventCore, Object&lt;EntityEventCore&gt;.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\]), ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise\_OnUpdating(object, LinkEventArgs), ObjectBase.raise\_OnUpdate(object, LinkEventArgs), ObjectBase.raise\_OnDestroying(object, LinkEventArgs), ObjectBase.raise\_OnDestroy(object, LinkEventArgs), ObjectBase.raise\_Destroying(object, Identifier), ObjectBase.raise\_OnAdded(object, AddToDocEventArgs), ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise\_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, 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

### MultipleContactBase()

Initializes a new instance of the  class.

```csharp
public MultipleContactBase()

```

### MultipleContactBase(string)

Initializes a new instance of the  class.

```csharp
public MultipleContactBase(string strName)

```

#### Parameters

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

Name of the contact.

## Properties

### MultiContactType

Gets or sets the contact type.

```csharp
public MultiContactType MultiContactType { get; set; }

```

#### Property Value

[MultiContactType](VM.Managed.DAFUL.Contact.MultiContactType.md)

### ReportTypeImpl

Gets the report type.

```csharp
protected override IReportable.ReportEntityType ReportTypeImpl { get; }

```

#### Property Value

IReportable.ReportEntityType

## Methods

### IsUseContactType(IContactable, IContactable, MultiContactType)

Determines whether the specified object is contact.

```csharp
public static bool IsUseContactType(IContactable base_bd, IContactable act_bd, MultiContactType type)

```

#### Parameters

`base_bd` IContactable

The base body.

`act_bd` IContactable

The action body.

`type` [MultiContactType](VM.Managed.DAFUL.Contact.MultiContactType.md)

The type.

#### Returns

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

`true` if the specified object is contact; otherwise, `false`.

### IsUseContactType(IContactable, IContactable, MultiContactType, ref bool)

Determines whether the specified object is contact.

```csharp
public static bool IsUseContactType(IContactable base_bd, IContactable act_bd, MultiContactType type, ref bool bSwitch)

```

#### Parameters

`base_bd` IContactable

The base body.

`act_bd` IContactable

The action body.

`type` [MultiContactType](VM.Managed.DAFUL.Contact.MultiContactType.md)

The type.

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

The switch.

#### Returns

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

`true` if the specified object is contact; otherwise, `false`.

### UpdateIcon()

Update the icon.

```csharp
protected override void UpdateIcon()

```