# MetaName class

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

```cs
[IoId("00000000-b73f-472f-82f8-36e0cfdab6f4")]
public sealed class MetaName : IComparable<MetaName>, IEquatable<MetaName>, IStorable
```

Represents an immutable data name. We recommend not constructing new names all the time, but instead to have a collection of static names which are used over and over again. This will both result in performance increases and fewer naming mistakes.

## Constructors

- [MetaName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/ctor.md): (5 overloads) Create a new name from a collection of strings.

## Fields

- [Separator](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/separator.md): (static) Defines the separator character.
- [TransformHint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/transformhint.md): (static) Defines the transformable hint in a meta data name. Names ending with this character will be treated as transformable whenever possible.

## Properties

- [Count](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/count.md): Gets the number of elements.
- [IsTransformable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/istransformable.md): Gets whether this name has transformable hinting.
- [IsTransient](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/istransient.md): Get whether this name is considered transient.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/item.md): Gets the element at the given index.

## Methods

- [AppendElement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/appendelement.md): Create a new name whch is similar to this one plus an extra element.
- [CompareTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/compareto.md): Comparison test. This test ignores the [MetaName.IsTransformable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/istransformable.md) property.
- [Create](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/create.md): (4 overloads, static) Gets a name made from a collection of strings.
- [Equals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/equals.md): (2 overloads) Test for equality. This test ignores the [MetaName.IsTransformable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/istransformable.md) property.
- [GetHashCode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/gethashcode.md): Gets the hash code for this name.
- [MakeImmovable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/makeimmovable.md): Remove the transformable hint to this name.
- [MakePermanent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/makepermanent.md): Remove the transient state from this name.
- [MakeTransformable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/maketransformable.md): Append the transformable hint to this name, if it isn't already there.
- [MakeTransient](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/maketransient.md): Create a transient version of this name.
- [Match](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/match.md): Test to see whether this name matches a pattern. Matching is always case-insensitive.
- [Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/parse.md): (static) Creates a new name from a full path. Periods in the path will be used as splitting indices. The path should not contain consecutive periods or the wildcard symbols '*' and '?'. We recommend using CamelCase alpha-numeric characters without whitespace.
- [RemoveLastElement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/removelastelement.md): Create a new name which is similar to this one minus the last element. Names with only one element cannot be reduced.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/store.md): Serialization method.
- [ToArray](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/toarray.md): Gets an array of strings which mimics the elements in this name.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/tostring.md): Gets the string representation of these elements.
- [TryParse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/tryparse.md): (static) Creates a new name from a full path. Periods in the path will be used as splitting indices. The path should not contain consecutive periods or the wildcard symbols '*' and '?'. We recommend using CamelCase alpha-numeric characters without whitespace.

## Operators

- [operator ==](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/op-equality.md): (static)
- [operator !=](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/op-inequality.md): (static)

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/op-implicit.md): (static) Convert a string into a [MetaName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname.md), using [MetaName.TryParse(string)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname/tryparse.md).
