Variant
Значение движка с меткой типа для динамических границ API.
Variant хранит одно значение и метку VariantType. Проверяйте тип и ограничения до преобразования; As<T> не является строгой проверкой схемы. Int соответствует long, Float — double. Коллекции могут быть общими, а ссылка на Entity не гарантирует, что объект ещё существует.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства2
ObjСвойство
public object? Obj { get; }Представление значения как управляемого объекта: Int упаковывается как long, Float как double, Nil даёт null. Коллекции и объекты сохраняют свою ссылочную семантику; это не независимая глубокая копия.
VariantTypeСвойство
public Variant.Type VariantType { get; }Метка фактически хранимого типа движка. Проверяйте её перед строгим чтением: успешное преобразование AsInt32 не доказывает исходный тип Int.
Методы227
AsT
public T? As<T>();Преобразует значение в поддерживаемый тип T через преобразования Variant. Не гарантирует совпадение исходной метки, допустимый диапазон или глубокое копирование контейнеров.
TРезультат преобразования в поддерживаемый T.
AsAabbAabb
public Aabb AsAabb();AabbAsBasisBasis
public Basis AsBasis();BasisAsBoolbool
public bool AsBool();boolAsBytebyte
public byte AsByte();byteAsByteArraybyte[]
public byte[] AsByteArray();byte[]AsCallableCallable
public Callable AsCallable();CallableAsCharchar
public char AsChar();charAsColorColor
public Color AsColor();ColorAsColorArrayColor[]
public Color[] AsColorArray();Color[]AsDoubledouble
public double AsDouble();Читает хранимый Float как double либо выполняет поддерживаемое числовое преобразование. Для требования именно Float отдельно проверяйте VariantType.
doubleЧисло двойной точности после преобразования.
AsEntityPathEntityPath
public EntityPath AsEntityPath();EntityPathAsFloat32Arrayfloat[]
public float[] AsFloat32Array();float[]AsFloat64Arraydouble[]
public double[] AsFloat64Array();double[]AsInt16short
public short AsInt16();shortAsInt32int
public int AsInt32();Преобразует значение в 32-битное целое, не проверяя строгий исходный тип или допустимый диапазон. Int 2147483648 сужается до -2147483648. Для проверки сначала требуйте Type.Int и проверяйте AsInt64 на границы int.
intРезультат преобразования в int, без проверки диапазона.
AsInt32Arrayint[]
public int[] AsInt32Array();Возвращает управляемую копию содержимого PackedInt32Array. Изменение полученного int[] не редактирует упакованное значение в Variant; для строгого входа проверяйте соответствующую метку.
int[]Новый управляемый int[] с копией элементов.
AsInt64long
public long AsInt64();Читает Int как знаковое 64-битное целое либо выполняет поддерживаемое преобразование другого типа. Например, Float 3.75 даёт 3; метод не заменяет проверку VariantType.
longЗнаковое 64-битное целое после преобразования.
AsInt64Arraylong[]
public long[] AsInt64Array();long[]AsPlanePlane
public Plane AsPlane();PlaneAsProjectionProjection
public Projection AsProjection();ProjectionAsQuaternionQuaternion
public Quaternion AsQuaternion();QuaternionAsReckfellArray2 перегрузки
public Reckfell.Collections.Array AsReckfellArray();Возвращает оболочку Array движка с общим исходным контейнером, не глубокую копию. Изменения элементов видны другим ссылкам; для независимого внешнего контейнера используйте Duplicate.
Reckfell.Collections.ArrayОболочка общего Array движка.
public Reckfell.Collections.Array<T> AsReckfellArray<T>();Reckfell.Collections.Array<T>AsReckfellDictionary2 перегрузки
public Reckfell.Collections.Dictionary AsReckfellDictionary();Возвращает оболочку Dictionary движка с общими исходными данными. Это не преобразование в System.Collections.Generic.Dictionary и не глубокая копия.
Reckfell.Collections.DictionaryОболочка общего Dictionary движка.
public Reckfell.Collections.Dictionary<TKey, TValue> AsReckfellDictionary<TKey, TValue>();Reckfell.Collections.Dictionary<TKey, TValue>AsReckfellObjectReckfellObject
public ReckfellObject AsReckfellObject();Возвращает объект движка с сохранением идентичности, не его клон. Entity может быть явно освобождён при существующем Variant; перед использованием потенциально устаревшего объекта проверяйте IsInstanceValid.
ReckfellObjectОбъект движка или null; актуальность объекта проверяйте отдельно.
AsReckfellObjectArrayT[]
public T[] AsReckfellObjectArray<T>() where T : ReckfellObject;T[]AsRect2Rect2
public Rect2 AsRect2();Rect2AsRect2IRect2I
public Rect2I AsRect2I();Rect2IAsRidRid
public Rid AsRid();RidAsSBytesbyte
public sbyte AsSByte();sbyteAsSignalSignal
public Signal AsSignal();SignalAsSinglefloat
public float AsSingle();Преобразует значение в float C#. Хранимый Float имеет двойную точность, поэтому сужение может потерять точность; метод не проверяет строгую схему входных данных.
floatРезультат в float с возможной потерей точности.
AsStringstring
public string AsString();Возвращает строковое представление значения, а не доказательство исходного типа String. Для строго текстового поля проверяйте VariantType; строковое представление не является форматом сериализации.
stringСтроковое представление значения.
AsStringArraystring[]
public string[] AsStringArray();string[]AsStringNameStringName
public StringName AsStringName();StringNameAsSystemArrayOfEntityPathEntityPath[]
public EntityPath[] AsSystemArrayOfEntityPath();EntityPath[]AsSystemArrayOfRidRid[]
public Rid[] AsSystemArrayOfRid();Rid[]AsSystemArrayOfStringNameStringName[]
public StringName[] AsSystemArrayOfStringName();StringName[]AsTransform2DTransform2D
public Transform2D AsTransform2D();Transform2DAsTransform3DTransform3D
public Transform3D AsTransform3D();Transform3DAsUInt16ushort
public ushort AsUInt16();ushortAsUInt32uint
public uint AsUInt32();uintAsUInt64ulong
public ulong AsUInt64();ulongAsVector2Vector2
public Vector2 AsVector2();Извлекает или преобразует значение в Vector2. Для строго заданной позиции проверяйте Type.Vector2 и при необходимости IsFinite; Vector2I имеет другую метку.
Vector2Vector2; конечность компонентов отдельно не проверяется.
AsVector2ArrayVector2[]
public Vector2[] AsVector2Array();Vector2[]AsVector2IVector2I
public Vector2I AsVector2I();Vector2IAsVector3Vector3
public Vector3 AsVector3();Vector3AsVector3ArrayVector3[]
public Vector3[] AsVector3Array();Vector3[]AsVector3IVector3I
public Vector3I AsVector3I();Vector3IAsVector4Vector4
public Vector4 AsVector4();Vector4AsVector4ArrayVector4[]
public Vector4[] AsVector4Array();Vector4[]AsVector4IVector4I
public Vector4I AsVector4I();Vector4ICopyNativeVariantReckfell.NativeInterop.reckfell_variant
public Reckfell.NativeInterop.reckfell_variant CopyNativeVariant();Построить новый NativeInterop.reckfell_variant из этого случая.
Звонивший отвечает за удаление нового случая, чтобы избежать утечки памяти.
Reckfell.NativeInterop.reckfell_variantCreateCopyingBorrowedVariant
public static Variant CreateCopyingBorrowed(in Reckfell.NativeInterop.reckfell_variant nativeValueToOwn);| Имя | Тип | По умолчанию |
|---|---|---|
nativeValueToOwn | Reckfell.NativeInterop.reckfell_variant | — |
VariantCreateFrom53 перегрузки
public static Variant CreateFrom(Aabb from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Aabb | — |
Variantpublic static Variant CreateFrom(Basis from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Basis | — |
Variantpublic static Variant CreateFrom(Callable from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Callable | — |
Variantpublic static Variant CreateFrom(Reckfell.Collections.Array from);Помещает Array движка в Variant, сохраняя общий контейнер, без глубокого копирования.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Array | — |
fromИсходное значение Reckfell.Collections.Array с описанной семантикой копирования.
VariantVariant с меткой Array.
public static Variant CreateFrom(Reckfell.Collections.Dictionary from);Помещает Dictionary движка в Variant с общими исходными данными. Это не преобразование управляемого словаря .NET.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Dictionary | — |
fromИсходное значение Reckfell.Collections.Dictionary с описанной семантикой копирования.
VariantVariant с меткой Dictionary.
public static Variant CreateFrom(Color from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Color | — |
Variantpublic static Variant CreateFrom(EntityPath from);| Имя | Тип | По умолчанию |
|---|---|---|
from | EntityPath | — |
Variantpublic static Variant CreateFrom(Plane from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Plane | — |
Variantpublic static Variant CreateFrom(Projection from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Projection | — |
Variantpublic static Variant CreateFrom(Quaternion from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Quaternion | — |
Variantpublic static Variant CreateFrom(ReckfellObject from);Помещает ссылку на объект движка; null даёт Nil. Объект не клонируется, Entity по-прежнему можно явно освободить.
| Имя | Тип | По умолчанию |
|---|---|---|
from | ReckfellObject | — |
fromИсходное значение Reckfell.ReckfellObject с описанной семантикой копирования.
VariantVariant с меткой Object; для null объекта — Nil.
public static Variant CreateFrom(ReckfellObject[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ReckfellObject[] | — |
Variantpublic static Variant CreateFrom(Rect2 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rect2 | — |
Variantpublic static Variant CreateFrom(Rect2I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rect2I | — |
Variantpublic static Variant CreateFrom(Rid from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rid | — |
Variantpublic static Variant CreateFrom(Signal from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Signal | — |
Variantpublic static Variant CreateFrom(StringName from);| Имя | Тип | По умолчанию |
|---|---|---|
from | StringName | — |
Variantpublic static Variant CreateFrom(Transform2D from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Transform2D | — |
Variantpublic static Variant CreateFrom(Transform3D from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Transform3D | — |
Variantpublic static Variant CreateFrom(Vector2 from);Помещает Vector2 в Variant с меткой Vector2, отличной от Vector2I.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
fromИсходное значение Reckfell.Vector2 с описанной семантикой копирования.
VariantVariant с меткой Vector2.
public static Variant CreateFrom(Vector2I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2I | — |
Variantpublic static Variant CreateFrom(Vector3 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3 | — |
Variantpublic static Variant CreateFrom(Vector3I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3I | — |
Variantpublic static Variant CreateFrom(Vector4 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector4 | — |
Variantpublic static Variant CreateFrom(Vector4I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector4I | — |
Variantpublic static Variant CreateFrom(bool from);| Имя | Тип | По умолчанию |
|---|---|---|
from | bool | — |
Variantpublic static Variant CreateFrom(byte from);| Имя | Тип | По умолчанию |
|---|---|---|
from | byte | — |
Variantpublic static Variant CreateFrom(char from);| Имя | Тип | По умолчанию |
|---|---|---|
from | char | — |
Variantpublic static Variant CreateFrom(double from);Помещает double в Float движка с двойной точностью.
| Имя | Тип | По умолчанию |
|---|---|---|
from | double | — |
fromИсходное значение System.Double с описанной семантикой копирования.
VariantVariant с меткой Float.
public static Variant CreateFrom(short from);| Имя | Тип | По умолчанию |
|---|---|---|
from | short | — |
Variantpublic static Variant CreateFrom(int from);Помещает int в знаковый 64-битный Int без потери значения.
| Имя | Тип | По умолчанию |
|---|---|---|
from | int | — |
fromИсходное значение System.Int32 с описанной семантикой копирования.
VariantVariant с меткой Int.
public static Variant CreateFrom(long from);Помещает long в знаковый 64-битный Int.
| Имя | Тип | По умолчанию |
|---|---|---|
from | long | — |
fromИсходное значение System.Int64 с описанной семантикой копирования.
VariantVariant с меткой Int.
public static Variant CreateFrom(sbyte from);| Имя | Тип | По умолчанию |
|---|---|---|
from | sbyte | — |
Variantpublic static Variant CreateFrom(float from);Помещает float в Float с хранением в double. Потерянная точность исходного float не восстанавливается.
| Имя | Тип | По умолчанию |
|---|---|---|
from | float | — |
fromИсходное значение System.Single с описанной семантикой копирования.
VariantVariant с меткой Float.
public static Variant CreateFrom(Span<Color> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Color> | — |
Variantpublic static Variant CreateFrom(Span<EntityPath> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<EntityPath> | — |
Variantpublic static Variant CreateFrom(Span<Rid> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Rid> | — |
Variantpublic static Variant CreateFrom(Span<StringName> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<StringName> | — |
Variantpublic static Variant CreateFrom(Span<Vector2> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector2> | — |
Variantpublic static Variant CreateFrom(Span<Vector3> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector3> | — |
Variantpublic static Variant CreateFrom(Span<Vector4> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector4> | — |
Variantpublic static Variant CreateFrom(Span<byte> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<byte> | — |
Variantpublic static Variant CreateFrom(Span<double> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<double> | — |
Variantpublic static Variant CreateFrom(Span<int> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<int> | — |
Variantpublic static Variant CreateFrom(Span<long> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<long> | — |
Variantpublic static Variant CreateFrom(Span<float> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<float> | — |
Variantpublic static Variant CreateFrom(Span<string> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<string> | — |
Variantpublic static Variant CreateFrom(string from);Помещает текст в String движка без интерпретации содержимого как числа или JSON.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
fromИсходное значение System.String с описанной семантикой копирования.
VariantVariant с меткой String.
public static Variant CreateFrom(ushort from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ushort | — |
Variantpublic static Variant CreateFrom(uint from);| Имя | Тип | По умолчанию |
|---|---|---|
from | uint | — |
Variantpublic static Variant CreateFrom(ulong from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ulong | — |
Variantpublic static Variant CreateFrom<T>(Reckfell.Collections.Array<T> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Array<T> | — |
Variantpublic static Variant CreateFrom<TKey, TValue>(Reckfell.Collections.Dictionary<TKey, TValue> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Dictionary<TKey, TValue> | — |
VariantCreateTakingOwnershipOfDisposableValueVariant
public static Variant CreateTakingOwnershipOfDisposableValue(in Reckfell.NativeInterop.reckfell_variant nativeValueToOwn);| Имя | Тип | По умолчанию |
|---|---|---|
nativeValueToOwn | Reckfell.NativeInterop.reckfell_variant | — |
VariantDisposevoid
public void Dispose();Освобождает принадлежащие оболочке нативные данные и сбрасывает этот экземпляр. Не освобождайте заимствованный Variant: копии структуры могут разделять управление освобождением. После освобождения не используйте такие копии.
FromVariant
public static Variant From<T>(in T? from);Создаёт Variant из поддерживаемого значения T. int и long хранятся как Int, float и double как Float; произвольный CLR-класс не становится поддерживаемым только из-за обобщённого вызова.
| Имя | Тип | По умолчанию |
|---|---|---|
from | T | — |
fromЗначение поддерживаемого типа T для помещения в Variant.
VariantVariant с соответствующим типом движка и его семантикой владения.
ToStringstring
public override string ToString();stringop_Explicit50 перегрузок
public static explicit operator Aabb(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Aabbpublic static explicit operator Basis(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Basispublic static explicit operator Callable(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Callablepublic static explicit operator Reckfell.Collections.Array(Variant from);Возвращает оболочку Array движка с общим исходным контейнером, не глубокую копию. Изменения элементов видны другим ссылкам; для независимого внешнего контейнера используйте Duplicate.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
Reckfell.Collections.ArrayОболочка общего Array движка.
public static explicit operator Reckfell.Collections.Dictionary(Variant from);Возвращает оболочку Dictionary движка с общими исходными данными. Это не преобразование в System.Collections.Generic.Dictionary и не глубокая копия.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
Reckfell.Collections.DictionaryОболочка общего Dictionary движка.
public static explicit operator Color(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Colorpublic static explicit operator Color[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Color[]public static explicit operator EntityPath(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
EntityPathpublic static explicit operator EntityPath[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
EntityPath[]public static explicit operator Plane(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Planepublic static explicit operator Projection(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Projectionpublic static explicit operator Quaternion(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Quaternionpublic static explicit operator ReckfellObject(Variant from);Возвращает объект движка с сохранением идентичности, не его клон. Entity может быть явно освобождён при существующем Variant; перед использованием потенциально устаревшего объекта проверяйте IsInstanceValid.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
ReckfellObjectОбъект движка или null; актуальность объекта проверяйте отдельно.
public static explicit operator Rect2(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Rect2public static explicit operator Rect2I(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Rect2Ipublic static explicit operator Rid(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Ridpublic static explicit operator Rid[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Rid[]public static explicit operator Signal(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Signalpublic static explicit operator StringName(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
StringNamepublic static explicit operator StringName[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
StringName[]public static explicit operator Transform2D(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Transform2Dpublic static explicit operator Transform3D(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Transform3Dpublic static explicit operator Vector2(Variant from);Извлекает или преобразует значение в Vector2. Для строго заданной позиции проверяйте Type.Vector2 и при необходимости IsFinite; Vector2I имеет другую метку.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
Vector2Vector2; конечность компонентов отдельно не проверяется.
public static explicit operator Vector2I(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector2Ipublic static explicit operator Vector2[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector2[]public static explicit operator Vector3(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector3public static explicit operator Vector3I(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector3Ipublic static explicit operator Vector3[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector3[]public static explicit operator Vector4(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector4public static explicit operator Vector4I(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector4Ipublic static explicit operator Vector4[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
Vector4[]public static explicit operator bool(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
boolpublic static explicit operator byte(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
bytepublic static explicit operator byte[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
byte[]public static explicit operator char(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
charpublic static explicit operator double(Variant from);Читает хранимый Float как double либо выполняет поддерживаемое числовое преобразование. Для требования именно Float отдельно проверяйте VariantType.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
doubleЧисло двойной точности после преобразования.
public static explicit operator double[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
double[]public static explicit operator short(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
shortpublic static explicit operator int(Variant from);Преобразует значение в 32-битное целое, не проверяя строгий исходный тип или допустимый диапазон. Int 2147483648 сужается до -2147483648. Для проверки сначала требуйте Type.Int и проверяйте AsInt64 на границы int.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
intРезультат преобразования в int, без проверки диапазона.
public static explicit operator int[](Variant from);Возвращает управляемую копию содержимого PackedInt32Array. Изменение полученного int[] не редактирует упакованное значение в Variant; для строгого входа проверяйте соответствующую метку.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
int[]Новый управляемый int[] с копией элементов.
public static explicit operator long(Variant from);Читает Int как знаковое 64-битное целое либо выполняет поддерживаемое преобразование другого типа. Например, Float 3.75 даёт 3; метод не заменяет проверку VariantType.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
longЗнаковое 64-битное целое после преобразования.
public static explicit operator long[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
long[]public static explicit operator sbyte(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
sbytepublic static explicit operator float(Variant from);Преобразует значение в float C#. Хранимый Float имеет двойную точность, поэтому сужение может потерять точность; метод не проверяет строгую схему входных данных.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
floatРезультат в float с возможной потерей точности.
public static explicit operator float[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
float[]public static explicit operator string(Variant from);Возвращает строковое представление значения, а не доказательство исходного типа String. Для строго текстового поля проверяйте VariantType; строковое представление не является форматом сериализации.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
fromVariant для преобразования; исходная метка проверяется отдельно.
stringСтроковое представление значения.
public static explicit operator string[](Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
string[]public static explicit operator ushort(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
ushortpublic static explicit operator uint(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
uintpublic static explicit operator ulong(Variant from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Variant | — |
ulongop_Implicit64 перегрузки
public static implicit operator Variant(Aabb from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Aabb | — |
Variantpublic static implicit operator Variant(Basis from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Basis | — |
Variantpublic static implicit operator Variant(Callable from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Callable | — |
Variantpublic static implicit operator Variant(Reckfell.Collections.Array from);Помещает Array движка в Variant, сохраняя общий контейнер, без глубокого копирования.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Array | — |
fromИсходное значение Reckfell.Collections.Array с описанной семантикой копирования.
VariantVariant с меткой Array.
public static implicit operator Variant(Reckfell.Collections.Dictionary from);Помещает Dictionary движка в Variant с общими исходными данными. Это не преобразование управляемого словаря .NET.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Reckfell.Collections.Dictionary | — |
fromИсходное значение Reckfell.Collections.Dictionary с описанной семантикой копирования.
VariantVariant с меткой Dictionary.
public static implicit operator Variant(Color from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Color | — |
Variantpublic static implicit operator Variant(Color[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Color[] | — |
Variantpublic static implicit operator Variant(EntityPath from);| Имя | Тип | По умолчанию |
|---|---|---|
from | EntityPath | — |
Variantpublic static implicit operator Variant(EntityPath[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | EntityPath[] | — |
Variantpublic static implicit operator Variant(Plane from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Plane | — |
Variantpublic static implicit operator Variant(Projection from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Projection | — |
Variantpublic static implicit operator Variant(Quaternion from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Quaternion | — |
Variantpublic static implicit operator Variant(ReckfellObject from);Помещает ссылку на объект движка; null даёт Nil. Объект не клонируется, Entity по-прежнему можно явно освободить.
| Имя | Тип | По умолчанию |
|---|---|---|
from | ReckfellObject | — |
fromИсходное значение Reckfell.ReckfellObject с описанной семантикой копирования.
VariantVariant с меткой Object; для null объекта — Nil.
public static implicit operator Variant(ReckfellObject[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ReckfellObject[] | — |
Variantpublic static implicit operator Variant(Rect2 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rect2 | — |
Variantpublic static implicit operator Variant(Rect2I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rect2I | — |
Variantpublic static implicit operator Variant(Rid from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rid | — |
Variantpublic static implicit operator Variant(Rid[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Rid[] | — |
Variantpublic static implicit operator Variant(Signal from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Signal | — |
Variantpublic static implicit operator Variant(StringName from);| Имя | Тип | По умолчанию |
|---|---|---|
from | StringName | — |
Variantpublic static implicit operator Variant(StringName[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | StringName[] | — |
Variantpublic static implicit operator Variant(Transform2D from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Transform2D | — |
Variantpublic static implicit operator Variant(Transform3D from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Transform3D | — |
Variantpublic static implicit operator Variant(Vector2 from);Помещает Vector2 в Variant с меткой Vector2, отличной от Vector2I.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
fromИсходное значение Reckfell.Vector2 с описанной семантикой копирования.
VariantVariant с меткой Vector2.
public static implicit operator Variant(Vector2I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2I | — |
Variantpublic static implicit operator Variant(Vector2[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2[] | — |
Variantpublic static implicit operator Variant(Vector3 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3 | — |
Variantpublic static implicit operator Variant(Vector3I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3I | — |
Variantpublic static implicit operator Variant(Vector3[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3[] | — |
Variantpublic static implicit operator Variant(Vector4 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector4 | — |
Variantpublic static implicit operator Variant(Vector4I from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector4I | — |
Variantpublic static implicit operator Variant(Vector4[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector4[] | — |
Variantpublic static implicit operator Variant(bool from);Помещает bool в Variant с меткой Bool, не Int.
| Имя | Тип | По умолчанию |
|---|---|---|
from | bool | — |
fromЛогическое значение C#.
VariantVariant с меткой Bool.
public static implicit operator Variant(byte from);| Имя | Тип | По умолчанию |
|---|---|---|
from | byte | — |
Variantpublic static implicit operator Variant(byte[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | byte[] | — |
Variantpublic static implicit operator Variant(char from);| Имя | Тип | По умолчанию |
|---|---|---|
from | char | — |
Variantpublic static implicit operator Variant(double from);Помещает double в Float движка с двойной точностью.
| Имя | Тип | По умолчанию |
|---|---|---|
from | double | — |
fromИсходное значение System.Double с описанной семантикой копирования.
VariantVariant с меткой Float.
public static implicit operator Variant(double[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | double[] | — |
Variantpublic static implicit operator Variant(short from);| Имя | Тип | По умолчанию |
|---|---|---|
from | short | — |
Variantpublic static implicit operator Variant(int from);Помещает int в знаковый 64-битный Int без потери значения.
| Имя | Тип | По умолчанию |
|---|---|---|
from | int | — |
fromИсходное значение System.Int32 с описанной семантикой копирования.
VariantVariant с меткой Int.
public static implicit operator Variant(int[] from);Копирует элементы управляемого int[] в PackedInt32Array. Изменение исходного массива не меняет уже созданный Variant.
| Имя | Тип | По умолчанию |
|---|---|---|
from | int[] | — |
fromИсходное значение System.Int32[] с описанной семантикой копирования.
VariantVariant с меткой PackedInt32Array.
public static implicit operator Variant(long from);Помещает long в знаковый 64-битный Int.
| Имя | Тип | По умолчанию |
|---|---|---|
from | long | — |
fromИсходное значение System.Int64 с описанной семантикой копирования.
VariantVariant с меткой Int.
public static implicit operator Variant(long[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | long[] | — |
Variantpublic static implicit operator Variant(sbyte from);| Имя | Тип | По умолчанию |
|---|---|---|
from | sbyte | — |
Variantpublic static implicit operator Variant(float from);Помещает float в Float с хранением в double. Потерянная точность исходного float не восстанавливается.
| Имя | Тип | По умолчанию |
|---|---|---|
from | float | — |
fromИсходное значение System.Single с описанной семантикой копирования.
VariantVariant с меткой Float.
public static implicit operator Variant(float[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | float[] | — |
Variantpublic static implicit operator Variant(Span<Color> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Color> | — |
Variantpublic static implicit operator Variant(Span<EntityPath> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<EntityPath> | — |
Variantpublic static implicit operator Variant(Span<Rid> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Rid> | — |
Variantpublic static implicit operator Variant(Span<StringName> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<StringName> | — |
Variantpublic static implicit operator Variant(Span<Vector2> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector2> | — |
Variantpublic static implicit operator Variant(Span<Vector3> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector3> | — |
Variantpublic static implicit operator Variant(Span<Vector4> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<Vector4> | — |
Variantpublic static implicit operator Variant(Span<byte> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<byte> | — |
Variantpublic static implicit operator Variant(Span<double> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<double> | — |
Variantpublic static implicit operator Variant(Span<int> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<int> | — |
Variantpublic static implicit operator Variant(Span<long> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<long> | — |
Variantpublic static implicit operator Variant(Span<float> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<float> | — |
Variantpublic static implicit operator Variant(Span<string> from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Span<string> | — |
Variantpublic static implicit operator Variant(string from);Помещает текст в String движка без интерпретации содержимого как числа или JSON.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
fromИсходное значение System.String с описанной семантикой копирования.
VariantVariant с меткой String.
public static implicit operator Variant(string[] from);| Имя | Тип | По умолчанию |
|---|---|---|
from | string[] | — |
Variantpublic static implicit operator Variant(ushort from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ushort | — |
Variantpublic static implicit operator Variant(uint from);| Имя | Тип | По умолчанию |
|---|---|---|
from | uint | — |
Variantpublic static implicit operator Variant(ulong from);| Имя | Тип | По умолчанию |
|---|---|---|
from | ulong | — |
VariantVariant.Operator
| Значение | Описание |
|---|---|
Add = 6 | Оператор сложения ( |
And = 20 | Оператор "Логическое И" ( |
BitAnd = 16 | Побитовый оператор И ( |
BitNegate = 19 | Побитовый оператор НЕ ( |
BitOr = 17 | Побитовый оператор ИЛИ ( |
BitXor = 18 | Побитовый оператор Исключающее ИЛИ ( |
Divide = 9 | Оператор деления ( |
Equal = 0 | Оператор "Равно" ( |
Greater = 4 | Оператор "Больше чем" ( |
GreaterEqual = 5 | Оператор "Больше чем или равно" ( |
In = 24 | Логический оператор В ( |
Less = 2 | Оператор "Меньше чем" ( |
LessEqual = 3 | Оператор "Меньше чем или равно" ( |
Max = 25 | Представляет размер перечисления |
Module = 12 | Оператор остатка/модуля ( |
Multiply = 8 | Оператор умножения ( |
Negate = 10 | Унарный оператор отрицания ( |
Not = 23 | Логический оператор НЕ ( |
NotEqual = 1 | Оператор "Не равно" ( |
Or = 21 | Логический оператор ИЛИ ( |
Positive = 11 | Унарный оператор "Плюс" ( |
Power = 13 | Оператор power ( |
ShiftLeft = 14 | Оператор сдвига влево ( |
ShiftRight = 15 | Оператор сдвига вправо ( |
Subtract = 7 | Оператор вычитания ( |
Xor = 22 | Оператор логического XOR (не применяется в C#). |