Unity 6.3
0 онлайн 0 гостей 3 в системе
Вход

UnsafeUtility.As

Declaration

public static ref T As(ref U from);

Параметры

Параметр Описание
от Ссылка на объект одного типа, которую необходимо переинтерпретировать как ссылку на объект другого типа. Убедитесь, что преобразование осуществляется между совместимыми типами, чтобы избежать ошибок во время выполнения.

Возвращаемое значение

T Ссылка на объект, интерпретируемый как тип целевого объекта.

Описание

Выполняет небезопасное преобразование указанного объекта в другой тип.

Метод As преобразует ссылку одного типа в другой тип. Используйте этот метод для прямого преобразования типов, например, во время операций с низкоуровневой памятью или при взаимодействии с неуправляемым кодом, где безопасность типов не применяется.

При использовании этого метода следует проявлять осторожность. Неправильное преобразование может привести к исключениям во время выполнения или неопределенному поведению, если типы несовместимы. Этот метод обходит обычные проверки безопасности типов и обеспечивает гибкость, но меньшую безопасность.

using Unity.Collections.LowLevel.Unsafe;
using UnityEngine;

public class UnsafeUtilityAsExample : MonoBehaviour { enum ExampleEnum { First = 1, Second = 2, } struct SourceStruct { public int IntegerValue; }

struct TargetStruct { public ExampleEnum EnumValue; }

void Start() { SourceStruct source = new SourceStruct { IntegerValue = 2 };

// Use UnsafeUtility.As to convert the source struct to a target struct TargetStruct target = UnsafeUtility.As<SourceStruct, TargetStruct>(ref source);

// Output the converted value Debug.Log($"Converted value: {target.EnumValue}"); } }

Дополнительные ресурсы: ,UnsafeUtility.AddressOf,, ,UnsafeUtility.AsRef,.