# ICustomIoId interface

Namespace: [GrasshopperIO](https://developer.rhino3d.com/api/gh2/namespace/grasshopperio.md) · Assembly: [GrasshopperIO](https://developer.rhino3d.com/api/gh2/assembly/grasshopperio.md)

```cs
public interface ICustomIoId
```

Implement this interface in your class if you cannot attach an [IoIdAttribute](https://developer.rhino3d.com/api/gh2/type/grasshopperio.ioidattribute.md) to your type. When the IoId of a specific type which implements this interface is required, it will be instantiated and interrogated once, and the id will be cached for future queries. This means your class must also provide a public constructor without any arguments.

## Properties

- [CustomIoId](https://developer.rhino3d.com/api/gh2/type/grasshopperio.icustomioid/customioid.md): Gets the custom id associated with this type.
