# TypeOverlap class

Namespace: [Grasshopper2.Data](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.data.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class TypeOverlap
```

Utility class for figuring out what base classes and interfaces a collection of types have in common.

## Constructors

- [TypeOverlap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/ctor.md): Create a new resolver based on a specific type.

## Properties

- [CommonInterfaceCount](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/commoninterfacecount.md): Gets the number of interfaces shared by all resolved types.
- [CommonInterfaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/commoninterfaces.md): Enumerate over all interfaces that all resolved types have in common.
- [CommonType](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/commontype.md): Gets the most-derived type still compatible with all resolved types.

## Methods

- [DetermineOverlap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/determineoverlap.md): (static) Determine the type shared amongst all values in a collection.
- [Include](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/include.md): Resolve an additional type.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/tostring.md): Returns a string that represents the current object.

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.typeoverlap/op-implicit.md): (static)
