Unsafe.Copy Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
Copy<T>(Void*, T) |
Копирует значение типа |
Copy<T>(T, Void*) |
Копирует значение типа |
Copy<T>(Void*, T)
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
Важно!
Этот API несовместим с CLS.
Копирует значение типа T
в заданное расположение.
public:
generic <typename T>
static void Copy(void* destination, T % source);
public static void Copy<T> (void* destination, ref T source);
[System.CLSCompliant(false)]
public static void Copy<T> (void* destination, ref T source);
static member Copy : nativeptr<unit> * 'T -> unit
[<System.CLSCompliant(false)>]
static member Copy : nativeptr<unit> * 'T -> unit
Параметры типа
- T
Тип копируемого значения.
Параметры
- destination
- Void*
Расположение для копирования.
- source
- T
Ссылка на значение для копирования.
- Атрибуты
Комментарии
Предполагается destination
, что оба и source
правильно выравниваются для указателей на данные типа T
. Дополнительные сведения о предположениях выравнивания см. в разделе ECMA-335, Sec. I.12.6.2 ("Выравнивание").
Этот метод примерно эквивалентен приведенному ниже коду.
static void Copy<T>(void* destination, ref T source)
{
T data = source; // dereference source
*(T*)destination = data;
}
Применяется к
Copy<T>(T, Void*)
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
Важно!
Этот API несовместим с CLS.
Копирует значение типа T
в заданное расположение.
public:
generic <typename T>
static void Copy(T % destination, void* source);
public static void Copy<T> (ref T destination, void* source);
[System.CLSCompliant(false)]
public static void Copy<T> (ref T destination, void* source);
static member Copy : 'T * nativeptr<unit> -> unit
[<System.CLSCompliant(false)>]
static member Copy : 'T * nativeptr<unit> -> unit
Параметры типа
- T
Тип копируемого значения.
Параметры
- destination
- T
Расположение для копирования.
- source
- Void*
Указатель на значение для копирования.
- Атрибуты
Комментарии
Предполагается destination
, что оба и source
правильно выравниваются для указателей на данные типа T
. Дополнительные сведения о предположениях выравнивания см. в разделе ECMA-335, Sec. I.12.6.2 ("Выравнивание").
Этот метод примерно эквивалентен приведенному ниже коду.
static void Copy<T>(ref T destination, void* source)
{
T data = *(T*)source; // reinterpret cast source as T* and dereference
destination = data;
}