    

 ## On this page

  

 

 # Class NamedObjectDictionary&lt;T\\&gt;

 Last update: 16.07.2025 

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

This class is to represent dictionary of \[named object\].

```csharp
public class NamedObjectDictionary<T> : Container, IObservableObject, IDisposableObject, ILinkable, IObject, IEventProvider, ILinkContainerEvent, IVerifiable, IContainer, ILinkContainer, IOwned, IHasID, ICunstomLink, IPostDeserialized, ILinkCollection where T : ObjectBase, INamed

```

#### Type Parameters

`T`

T has name

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← LinkContainer ← Container ← [NamedObjectDictionary&lt;T&gt;](VM.Managed.Collections.NamedObjectDictionary-1.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, IObject, IEventProvider, ILinkContainerEvent, IVerifiable, IContainer, ILinkContainer, IOwned, IHasID, ICunstomLink, IPostDeserialized, ILinkCollection

#### Inherited Members

Container.Find(string), Container.FindLocal(string), Container.GetUnnamedObjectName(object), Container.GetNewEntityName(string, bool, int, int), Container.GetNewEntityName(string, bool, int), Container.GetNewEntityName(string), LinkContainer.SetModified(), LinkContainer.raise\_OnUpdating(object, LinkEventArgs), LinkContainer.raise\_OnUpdate(object, LinkEventArgs), LinkContainer.raise\_OnDestroying(object, LinkEventArgs), LinkContainer.raise\_OnDestroy(object, LinkEventArgs), LinkContainer.raise\_OnAdded(object, AddToDocEventArgs), LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs), LinkContainer.GetTargetListForUpdate(), LinkContainer.SkipUpdateObjectImpl(), LinkContainer.Initialize(Unit.ConvertFactor), LinkContainer.SetFlagWhenXMLFile(string, bool), LinkContainer.IsSerializableEvent(Delegate), LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext), LinkContainer.GetSerializedData(SerializationInfo, StreamingContext), LinkContainer.LinkRequestUpdating(object, LinkEventArgs), LinkContainer.LinkRequestUpdate(object, LinkEventArgs), LinkContainer.LinkRequestDestroying(object, LinkEventArgs), LinkContainer.LinkRequestDestroy(object, LinkEventArgs), LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs), LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), LinkContainer.OnLinkReserved(ILink, object, EventArgs), LinkContainer.CanBeDestroy(object), LinkContainer.DisposeManagedResources(), LinkContainer.SetContainer(IOwned, bool), LinkContainer.OnChildUpdated(object, LinkEventArgs), LinkContainer.OnContainerDestroy(object, LinkEventArgs), LinkContainer.OnDeserialization(object), LinkContainer.Verify(VerifiedResult), LinkContainer.GetCopy(object), LinkContainer.Dispose(bool), LinkContainer.ClearChildInfoBeforeDeserialize, LinkContainer.Container, LinkContainer.Owner, LinkContainer.Document, LinkContainer.ID, LinkContainer.IsChildExternable, LinkContainer.IsExternable, LinkContainer.OnRemoved, LinkContainer.OnAdded, LinkContainer.OnDestroy, LinkContainer.OnDestroying, LinkContainer.OnUpdate, LinkContainer.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

### NamedObjectDictionary()

Initializes a new instance of the  class.

```csharp
public NamedObjectDictionary()

```

### NamedObjectDictionary(IOwned)

Initializes a new instance of the  class.

```csharp
public NamedObjectDictionary(IOwned obParent)

```

#### Parameters

`obParent` IOwned

The parent object.

## Properties

### Count

Gets the number of elements contained in the .

```csharp
public int Count { get; }

```

#### Property Value

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

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

### IsReadOnly

Gets a value indicating whether the  is read-only.

```csharp
public bool IsReadOnly { get; }

```

#### Property Value

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

### this\[string\]

Gets the T with the specified name.

```csharp
public T this[string strName] { get; }

```

#### Property Value

T

## Methods

### Add(T)

Adds an item to the .

```csharp
public void Add(T item)

```

#### Parameters

`item` T

The object to add to the .

#### Exceptions

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

The  is read-only.

### ChangeName(string, T)

Changes the name.

```csharp
public void ChangeName(string strOldName, T obj)

```

#### Parameters

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

The old name.

`obj` T

The new object.

### Clear()

Removes all items from the .

```csharp
public void Clear()

```

#### Exceptions

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

The  is read-only.

### Contains(T)

Determines whether the  contains a specific value.

```csharp
public bool Contains(T item)

```

#### Parameters

`item` T

The object to locate in the .

#### Returns

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

true if `item` is found in the ; otherwise, false.

### CopyTo(T\[\], int)

Copies the elements of the  to an , starting at a particular  index.

```csharp
public void CopyTo(T[] array, int arrayIndex)

```

#### Parameters

`array` T\[\]

The one-dimensional  that is the destination of the elements copied from . The  must have zero-based indexing.

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

The zero-based index in `array` at which copying begins.

### FindLocal(string)

Finds an object that matches a specified name in local.

```csharp
public override IObjectBase FindLocal(string strName)

```

#### Parameters

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

Name to search for.

#### Returns

IObjectBase

An object that matches a specified name.

### GetEnumerator()

Returns an enumerator that iterates through the collection.

```csharp
public IEnumerator<T> GetEnumerator()

```

#### Returns

[IEnumerator](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerator-1)&lt;T&gt;

A  that can be used to iterate through the collection.

### GetSchema()

This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the  to the class.

```csharp
public XmlSchema GetSchema()

```

#### Returns

[XmlSchema](https://learn.microsoft.com/dotnet/api/system.xml.schema.xmlschema)

An  that describes the XML representation of the object that is produced by the  method and consumed by the  method.

### GetSortedEntity()

Gets the sorted entity.

```csharp
public SortedList<string, T> GetSortedEntity()

```

#### Returns

[SortedList](https://learn.microsoft.com/dotnet/api/system.collections.generic.sortedlist-2)&lt;[string](https://learn.microsoft.com/dotnet/api/system.string), T&gt;

### IsSerializableEvent(Delegate)

Determines whether \[is serializable event\] \[the specified del\].

```csharp
protected override bool IsSerializableEvent(Delegate del)

```

#### Parameters

`del` [Delegate](https://learn.microsoft.com/dotnet/api/system.delegate)

The del.

#### Returns

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

`true` if \[is serializable event\] \[the specified del\]; 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.

### OnChildUpdated(object, LinkEventArgs)

Called when \[child updated\].

```csharp
protected override void OnChildUpdated(object obj, LinkEventArgs args)

```

#### Parameters

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

The object.

`args` LinkEventArgs

The  instance containing the event data.

### ReadXml(XmlReader)

Generates an object from its XML representation.

```csharp
public void ReadXml(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The  stream from which the object is deserialized.

### Remove(string)

Removes the specified name.

```csharp
public bool Remove(string strName)

```

#### Parameters

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

The Name.

#### Returns

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

`true` if success; otherwise, `false`.

### Remove(T)

Removes the first occurrence of a specific object from the .

```csharp
public bool Remove(T item)

```

#### Parameters

`item` T

The object to remove from the .

#### Returns

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

true if `item` was successfully removed from the ; otherwise, false. This method also returns false if `item` is not found in the original .

#### Exceptions

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

The  is read-only.

### WriteXml(XmlWriter)

Converts an object into its XML representation.

```csharp
public void WriteXml(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The  stream to which the object is serialized.