# IGH_DocumentObject class

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

```cs
public class IGH_DocumentObject
```

A wrapper around a dynamic Grasshopper 1.0 IGH_DocumentObject which exposes a bunch of common component and parameter properties in a strongly-typed way.

**Derived types:** [IGH_Component](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-component.md), [IGH_Param](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-param.md)

## Constructors

- [IGH_DocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/ctor.md): Create a new wrapper for a Grasshopper 1.0 document object.

## Properties

- [Activity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/activity.md): Gets the object activity of the underlying GH1 object, assuming this instance wraps an IGH_ActiveObject.
- [Bounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/bounds.md): Gets the bounds as per the attributes.
- [ComponentId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/componentid.md): Gets the type identifier of the underlying object.
- [Display](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/display.md): Gets the object preview of the underlying GH1 object, assuming this instance wraps an IGH_PreviewObject.
- [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/icon.md): Gets the icon of the underlying object. Note that is is a relatively expensive process, as the icon needs to be converted from the GDI bitmap format into the ETO bitmap format.
- [Info](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/info.md): Gets the tooltip info of the underlying object.
- [InstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/instanceid.md): Gets the instance identifier the underlying object.
- [IsComponent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/iscomponent.md): Gets whether this object wraps a Grasshopper 1.0 component.
- [IsParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/isparameter.md): Gets whether this object wraps a Grasshopper 1.0 parameter.
- [Name](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/name.md): Gets the name of the underlying object.
- [OutletPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/outletpoint.md): Gets the point wires leave this object from, as per the Grasshopper 1 attributes.
- [UnderlyingObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/underlyingobject.md): Gets the hosted object.
- [UserName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/username.md): Gets the nickname of the underlying object. In Grasshopper 2, this is called the UserName.

## Methods

- [GetValue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/getvalue.md): Read a boolean option which Grasshopper 1 kept as a named value on the object.
- [Migrate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/migrate.md): Try and migrate this Grasshopper 1.0 object to one or more Grasshopper 2.0 objects. First a dedicated migrator will be attempted, and if that fails an interop wrapper object will be created. Default attributes will be created and the migrated object will be positioned and sized so that it best matches the source. If everything fails, nothing will happen and an empty array will be returned.
- [TransferInstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/transferinstanceid.md): Copy the instance ID of the Grasshopper 1 parameter into the CustomValues of the grasshopper 2 parameter. This is typically only used to recreate wires between parameters.
- [TransferObjectName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/transferobjectname.md): Copy the nickname of this object into the UserName of the given object.
- [TransferObjectState](https://developer.rhino3d.com/api/gh2/type/grasshopper2.interop.igh-documentobject/transferobjectstate.md): Copy the preview and enabled states from the underlying object into the GH2 object,
