# MetaValue 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
public sealed class MetaValue : IEquatable<MetaValue>, IComparable<MetaValue>
```

Represents a meta data value. This is really just a wrapper class around all the supported meta data value types so we don't have to use 'object' to store meta data.

## Fields

- [AssistantPrefix](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/assistantprefix.md): (static) String prefix for values serialised via their [ITypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant.md).
- [JsonPrefix](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/jsonprefix.md): (static) String prefix for values serialised using Json (de)serialisation.
- [StorablePrefix](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/storableprefix.md): (static) String prefix for values serialised using the [IStorable](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable.md) approach.

## Properties

- [Assistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/assistant.md): Gets the type assistant for the data inside this value.
- [IntendedData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/intendeddata.md): Gets the intended value. This may return null as well as an [IPear](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.ipear.md) instance if the internal data can be successfully deserialised.
- [InternalData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/internaldata.md): Gets the internal instance of the data. Typically you know what data type you're looking for and you don't have to rawdog the value directly.
- [IsSerialisedData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/isserialiseddata.md): Gets whether this value contains serialised data. For this to be true, the value must be of type string and start with one of the format identifiers.
- [Null](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/null.md): (static) Gets a null meta value.
- [Type](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/type.md): Gets the type of meta data.

## Methods

- [CompareTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/compareto.md): (2 overloads)
- [Equals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/equals.md): (2 overloads)
- [FormatValue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/formatvalue.md): (static)
- [Get](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/get.md): (19 overloads) Gets the value as an angle.
- [GetHashCode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/gethashcode.md)
- [IsSupportedType](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/issupportedtype.md): (static) Tests whether a value could be used inside meta data.
- [Parse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/parse.md): (static) Try and parse a string. This always works since STRING is a valid meta type, but you may not get the conversion you were expecting.
- [Restore](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/restore.md): (static)
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/store.md): Serialiser. This class does not implement [IStorable](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable.md) because that would break file IO with early versions. Instead, the data is written directly into the supplied writer object, so it's the responsibility of the caller to make sure multiple meta values do not collide within the same writer.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/tostring.md)
- [TryCreate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/trycreate.md): (static) Try and create a meta value from any value. If the value is of a supported type, this method will succeed.
- [TryDeserialise](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/trydeserialise.md): (static) Try and deserialise a value from a string for the purposes of meta-data storage.
- [TrySerialise](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/tryserialise.md): (static) Try and serialise a value to a string for the purposes of meta-data storage.

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metavalue/op-implicit.md): (19 overloads, static)
