    

 ## On this page

  

 

 # Class InterfaceManager

 Last update: 16.07.2025 

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

This interface is to represent interface manager.

```csharp
public class InterfaceManager : Object<ObjectEventCore>, IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer

```

#### Inheritance

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

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer

#### Inherited Members

Object&lt;ObjectEventCore&gt;.GetKey(), Object&lt;ObjectEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;ObjectEventCore&gt;.SetIconColor(Canvas), Object&lt;ObjectEventCore&gt;.OnDeserialization(object), Object&lt;ObjectEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;ObjectEventCore&gt;.RollbackEvent(), Object&lt;ObjectEventCore&gt;.OnDeserializedCore(object), Object&lt;ObjectEventCore&gt;.Key, Object&lt;ObjectEventCore&gt;.UntypedEventCore, Object&lt;ObjectEventCore&gt;.EventCore, Object&lt;ObjectEventCore&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

### InterfaceManager()

Initializes a new instance of the  class.

```csharp
public InterfaceManager()

```

### InterfaceManager(InterfaceManager)

Initializes a new instance of the  class.

```csharp
public InterfaceManager(InterfaceManager itfMgr)

```

#### Parameters

`itfMgr` [InterfaceManager](VM.Managed.InterfaceManager.md)

The itf MGR.

## Properties

### InterfaceInfos

Gets or sets the interface info.

```csharp
protected List<InterfaceManager.InterfaceInfo> InterfaceInfos { get; }

```

#### Property Value

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[InterfaceManager](VM.Managed.InterfaceManager.md).[InterfaceInfo](VM.Managed.InterfaceManager.InterfaceInfo.md)&gt;

### Interfaces

Gets or sets the interfaces.

```csharp
public IInterface[] Interfaces { get; set; }

```

#### Property Value

[IInterface](VM.Managed.IInterface.md)\[\]

### IsExternable

Gets a value indicating whether this instance is externable.

```csharp
public override bool IsExternable { get; }

```

#### Property Value

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

## Methods

### Add(IInterface)

Adds the specified itf.

```csharp
protected virtual void Add(IInterface itf)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The itf.

### AddInterface(IInterface)

Adds the interface to interface manager.

```csharp
public void AddInterface(IInterface itf)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The interface.

### GetInterfaceNames(IInterface)

Gets the interface names.

```csharp
public List<string> GetInterfaceNames(IInterface itf)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The interface.

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string)&gt;

The name container

### GetInterfaceNames(string)

Gets the interface names.

```csharp
public List<string> GetInterfaceNames(string strFullName)

```

#### Parameters

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

The full name of the interface.

#### Returns

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string)&gt;

The name container

### GetNumInterfaceObject()

Gets the number of interface object.

```csharp
public int GetNumInterfaceObject()

```

#### Returns

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

number of interface object

### IsInterface(IInterface)

Determines whether the specified interface is interface.

```csharp
public bool IsInterface(IInterface itf)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The interface.

#### Returns

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

`true` if the specified interface is interface; otherwise, `false`.

### LinkRequestUpdate(object, LinkEventArgs)

Request for update the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

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

The linked object.

`arg` LinkEventArgs

The  instance containing the event data.

### MakeXml(object)

Makes the interface information.

```csharp
protected string MakeXml(object ob)

```

#### Parameters

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

The object.

#### Returns

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

The interface information

### RemoveInterface(IInterface)

Removes the interface to interface manager.

```csharp
public virtual void RemoveInterface(IInterface itf)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The interface.

### SetInterfaceNames(IInterface, ICollection&lt;string&gt;)

Sets the interface names.

```csharp
public void SetInterfaceNames(IInterface itf, ICollection<string> strList)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The itf.

`strList` [ICollection](https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string)&gt;

The STR list.

### SetInterfaceNames(IInterface, ArraySegment&lt;string&gt;)

Sets the interface names.

```csharp
public void SetInterfaceNames(IInterface itf, ArraySegment<string> strList)

```

#### Parameters

`itf` [IInterface](VM.Managed.IInterface.md)

The itf.

`strList` [ArraySegment](https://learn.microsoft.com/dotnet/api/system.arraysegment-1)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string)&gt;

The STR list.