# TypeAssistant<T> class

Namespace: [Grasshopper2.Types.Assistant](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.types.assistant.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class TypeAssistant<T> : ITypeAssistant<T>
```

Fundamental abstract, generic implementation of ITypeAssistant. Inherit from this class if you wish to provide functionality for a specific type.

**Type parameters:**

- `T`: Type to assist.

**Derived types:** [AngleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.angletypeassistant.md), [ArcTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.arctypeassistant.md), [BigIntegerTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.bigintegertypeassistant.md), [BooleanTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.booleantypeassistant.md), [BoxTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.boxtypeassistant.md), [BrepTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.breptypeassistant.md), [CageAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.cageassistant.md), [CircleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.circletypeassistant.md), [ColourTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.colourtypeassistant.md), [ComplexTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.complextypeassistant.md), [ContinuousDistributionAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.continuousdistributionassistant.md), [CurveLocusTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.curvelocustypeassistant.md), [DateTimeTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.datetimetypeassistant.md), [DeformTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.deformtypeassistant.md), [DiscreteDistributionAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.discretedistributionassistant.md), [DoubleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.doubletypeassistant.md), [FieldTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.fieldtypeassistant.md), [FunctionTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.functiontypeassistant.md), [GradientTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.gradienttypeassistant.md), [GraphTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.graphtypeassistant.md), [GuidTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.guidtypeassistant.md), [IntegerTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.integertypeassistant.md), [IntervalTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.intervaltypeassistant.md), [LanguageTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.languagetypeassistant.md), [LineTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.linetypeassistant.md), [MeshFaceTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.meshfacetypeassistant.md), [MeshTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.meshtypeassistant.md), [MetaDataTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.metadatatypeassistant.md), [MetaNameTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.metanametypeassistant.md), [NaughtyCurveTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.naughtycurvetypeassistant.md), [NTupleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.ntupletypeassistant.md), [NumericTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.numerictypeassistant.md), [PathTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.pathtypeassistant.md), [PlaneTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.planetypeassistant.md), [Point2TypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.point2typeassistant.md), [Point3TypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.point3typeassistant.md), [PointNTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.pointntypeassistant.md), [PolylineTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.polylinetypeassistant.md), [RandomTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.randomtypeassistant.md), [RectangleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.rectangletypeassistant.md), [RegionTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.regiontypeassistant.md), [RhinoCurveTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.rhinocurvetypeassistant.md), [SphereTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.spheretypeassistant.md), [StringTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.stringtypeassistant.md), [SubDTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.subdtypeassistant.md), [SurfaceLocusTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.surfacelocustypeassistant.md), [SurfaceTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.surfacetypeassistant.md), [TextDotTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.textdottypeassistant.md), [TimeSpanTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.timespantypeassistant.md), [TransformTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.transformtypeassistant.md), [TriangleTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.triangletypeassistant.md), [TubeTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.tubetypeassistant.md), [UnitSystemTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.unitsystemtypeassistant.md), [VectorTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.vectortypeassistant.md), [ViewportInfoTypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistants.viewportinfotypeassistant.md)

## Constructors

- [TypeAssistant<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/ctor.md): Constructor for the base type assistant.

## Fields

- [FormatMax](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/formatmax.md): (static) A number format to be used for a high accuracy. If your formatted string contains only one number, this would be a good choice.
- [FormatMid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/formatmid.md): (static) A number format to be used for a medium accuracy. If your formatted string contains about 3 numbers, this would be a good choice.
- [FormatMin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/formatmin.md): (static) A number format to be used for a low accuracy. If your formatted string contains more than 4 numbers, this would be a good choice.

## Properties

- [Constructors](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/constructors.md): Enumerate all defined constructors for this type.
- [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/icon.md): Gets the icon (if any) associated with this type.
- [IsReimplementation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/isreimplementation.md): Gets whether or not this assistant is a type-safe re-implementation of a more generic assistant.
- [Name](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/name.md): Gets the parameter description associated with this type.
- [ReimplementationBase](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/reimplementationbase.md): Gets the base assistant (if any) this assistant is a re-implementation of.
- [Type](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/type.md): Gets the type associated with this assistant.
- [ZupportsArea](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsarea.md): Gets whether this type assistant has support for Area metrics.
- [ZupportsAreaCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsareacentroid.md): Gets whether this type assistant has support for Area centroid metrics.
- [ZupportsBake](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsbake.md): Gets whether this type assistant has support for geometry baking.
- [ZupportsBoundingBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsboundingbox.md): Gets whether this type assistant has support for BoundingBox metrics.
- [ZupportsClosestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsclosestpoint.md): Gets whether this type assistant has support for closest point resolution.
- [ZupportsDeform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsdeform.md): Gets whether this type assistant has support for spatial morphs.
- [ZupportsDraw](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsdraw.md): Gets whether this type assistant has support for geometry display.
- [ZupportsFurthestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsfurthestpoint.md): Gets whether this type assistant has support for furthest point resolution.
- [ZupportsLength](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportslength.md): Gets whether this type assistant has support for Length metrics.
- [ZupportsLink](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportslink.md): Gets whether this type assistant has support for geometry referencing.
- [ZupportsPick](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportspick.md): Gets whether the assistants supports UI for specifying new values. Note that if the [TypeAssistant<T>.Pick(Pear<T>, Pear<T>)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/pick.md) method hasn't been overwritten but the [TypeAssistant<T>.ZupportsRoundTripping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsroundtripping.md) is true, then values can be specified using the [TypeAssistant<T>.Format(T)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/format.md) and [TypeAssistant<T>.Parse(string, string, Pear<T>)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/parse.md) methods.
- [ZupportsReadWrite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsreadwrite.md): Gets whether this assistant supports (de)serializing instances of T.
- [ZupportsRoundTripping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsroundtripping.md): Gets whether this assistant supports round-tripping from T to string to T. For this to be true, both [TypeAssistant<T>.Format(T)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/format.md) and [TypeAssistant<T>.Parse(string, string, Pear<T>)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/parse.md) must be implemented.
- [ZupportsTransform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportstransform.md): Gets whether this type assistant has support for transformations.
- [ZupportsTransformBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportstransformbox.md): Gets whether this type assistant has support for aligned BoundingBox metrics.
- [ZupportsVolume](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsvolume.md): Gets whether this type assistant has support for Volume metrics.
- [ZupportsVolumeCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/zupportsvolumecentroid.md): Gets whether this type assistant has support for Volume centroid metrics.

## Methods

- [Area](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/area.md): Measure the area of an instance.
- [AreaCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/areacentroid.md): Measure the area of an instance.
- [BoundingBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/boundingbox.md): Gets the world aligned boundingbox for an instance.
- [ClosestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/closestpoint.md): Gets the point on an instance closest to a locus point.
- [Copy](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/copy.md): Create an exact duplicate of an instance.
- [CreateComparer](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/createcomparer.md): Create an equality comparer for this type. It depends on the implementation of Hash() and Same().
- [Deform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/deform.md): Morph an instance of T.
- [DescribePrimary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/describeprimary.md): Give the primary description of a value. This does not need to yield a parsable string, the results are meant only for human consumption.
- [DescribeSecondary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/describesecondary.md): Give the secondary description of a value. The secondary description may elaborate on the value. This method may always return null.
- [Draw](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/draw.md): Add a value to a display bag.
- [Format](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/format.md): Format an instance partially so that it can be modified via text.
- [FurthestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/furthestpoint.md): Gets the point on an instance furthest away from a locus point.
- [ITypeAssistant.Area](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-area.md)
- [ITypeAssistant.AreaCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-areacentroid.md)
- [ITypeAssistant.BoundingBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-boundingbox.md)
- [ITypeAssistant.ClosestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-closestpoint.md)
- [ITypeAssistant.Copy](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-copy.md)
- [ITypeAssistant.Deform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-deform.md)
- [ITypeAssistant.DescribePrimary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-describeprimary.md)
- [ITypeAssistant.DescribeSecondary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-describesecondary.md)
- [ITypeAssistant.Draw](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-draw.md)
- [ITypeAssistant.Format](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-format.md)
- [ITypeAssistant.FurthestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-furthestpoint.md)
- [ITypeAssistant.Hash](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-hash.md)
- [ITypeAssistant.Length](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-length.md)
- [ITypeAssistant.Link](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-link.md)
- [ITypeAssistant.ModifyBakeAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-modifybakeattributes.md): (2 overloads)
- [ITypeAssistant.Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-parse.md)
- [ITypeAssistant.Pick](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-pick.md)
- [ITypeAssistant.Read](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-read.md)
- [ITypeAssistant.Same](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-same.md)
- [ITypeAssistant.Show](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-show.md)
- [ITypeAssistant.Sort](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-sort.md)
- [ITypeAssistant.Test](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-test.md): (2 overloads)
- [ITypeAssistant.Text](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-text.md)
- [ITypeAssistant.ToGeometry](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-togeometry.md)
- [ITypeAssistant.Transform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-transform.md)
- [ITypeAssistant.TransformBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-transformbox.md)
- [ITypeAssistant.Volume](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-volume.md)
- [ITypeAssistant.VolumeCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-volumecentroid.md)
- [ITypeAssistant.Write](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/grasshopper2-types-assistant-itypeassistant-write.md)
- [Hash](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/hash.md): Hash an instance of the object. The default implementation calls GetHash() on the instance.
- [HashUsingWriteMethod](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/hashusingwritemethod.md): Utility method for hashing a value based on the Write() implementation.
- [Length](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/length.md): Measure the length of an instance.
- [Link](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/link.md): Create a pear from a reference ID. This is primarily used to update Grasshopper data which links to shapes in the Rhino document.
- [ModifyBakeAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/modifybakeattributes.md): (2 overloads) By overriding this method, the type implementor may add modifications to the attributes of objects baked to Rhino files. For example, vectors when baked require an arrowhead to be set at the curve end, and this must be specified via the object attributes.
- [Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/parse.md): Parse a (possibly partial) description of a value.
- [Pick](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/pick.md): Ask the user to specify (or pick) a new value. When this method is invoked, it is assumed that it will start a RhinoGet operation or otherwise pop some kind of UI on the screen.
- [Read](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/read.md): Read an instance from a GrasshopperIO archive.
- [RelinkMetaDataFromUserStrings](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/relinkmetadatafromuserstrings.md): (2 overloads) Utility method for updating metadata from userstrings after relinking a value.
- [Same](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/same.md): Compare two instances for equality. If not implemented, this method will revert to Write/Read comparison, and then Text comparisons.
- [Show](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/show.md): Create a Grasshopper display proxy.
- [Sort](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/sort.md): Compare the sort order of two instances. If not implemented, this will resort to the default comparer as provided by System.Collections.Generic.Comparer.Default
- [Test](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/test.md): (2 overloads) Determine the validity of an instance. This method always returns true unless overridden.
- [Text](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/text.md): Create a string which can function as a sorting key for this value. If the value is null, a [TypeAssistantServer.NullKey](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistantserver/nullkey.md) must be returned.
- [ToGeometry](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/togeometry.md): Convert a pear into a collection of Rhino compliant geometries. This is used primarily for the standard baking of geometric data.
- [Transform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/transform.md): Transform an instance of T.
- [TransformBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/transformbox.md): Gets the transformation aligned boundingbox for an instance.
- [Volume](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/volume.md): Measure the volume of an instance.
- [VolumeCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/volumecentroid.md): Measure the volume of an instance.
- [Write](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1/write.md): Write an instance to a GrasshopperIO archive.
