# CommonComponentTable<T> class

Namespace: [Rhino.FileIO](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.fileio.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class CommonComponentTable<T> : ICommonComponentTable<T>, IList<T>, IReadOnlyList<T>
```

Provides a base table type that encompasses all document tables, both in RhinoDoc and File3dm.

**Type parameters:**

- `T` (where ModelComponent): A model component.

**Derived types:** [File3dmCommonComponentTable<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.file3dmcommoncomponenttable-1.md), [RhinoDocCommonTable<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.rhinodoccommontable-1.md)

## Properties

- [ComponentType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/componenttype.md): Returns the actual component type of a table.
- [Count](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/count.md): Returns the count of all items, including deleted ones.
- [ICollection<T>.IsReadOnly](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-icollection-t-isreadonly.md)

## Indexers

- [IList<T>.this[]](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-ilist-t-this.md)
- [IReadOnlyList<T>.this[]](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-ireadonlylist-t-this.md)

## Methods

- [Clear](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/clear.md): Marks all items as deleted.
- [Delete](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/delete.md): Deletes an item. Items that are deleted are still keeping their space, but the 'IsDeleted' flag is checked.
- [FindId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/findid.md): Uses the guid to find a model component. Deleted objects cannot be found by id. The guid is the value that is stored in the .Id property. In a single document, no two active objects have the same guid. If an object is replaced with a new object, then the guid persists. For example, if the _Move command moves an object, then the moved object inherits its guid from the starting object. If the Copy command copies an object, then the copy gets a new guid. This guid persists through file saving/opening operations. This function will not find grip objects.
- [GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/getenumerator.md): Returns the enumerator that yields all items.
- [ICommonComponentTable<T>.FindNameHash](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/rhino-fileio-icommoncomponenttable-t-findnamehash.md): Uses the hash of the name to find a model component. Deleted objects have no name.
- [ICollection<T>.Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-icollection-t-add.md)
- [ICollection<T>.Contains](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-icollection-t-contains.md)
- [ICollection<T>.CopyTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-icollection-t-copyto.md)
- [ICollection<T>.Remove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-icollection-t-remove.md)
- [IList<T>.IndexOf](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-ilist-t-indexof.md)
- [IList<T>.Insert](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-ilist-t-insert.md)
- [IList<T>.RemoveAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-generic-ilist-t-removeat.md)
- [IEnumerable.GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/system-collections-ienumerable-getenumerator.md)
