ImmutableInterlocked.Update Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg) |
Изменяет неизменяемый массив на месте с семантикой транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки. |
Update<T,TArg>(T, Func<T,TArg,T>, TArg) |
Изменяет значение на месте с семантикой оптимистичной блокировки транзакции с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки. |
Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>) |
Изменяет неизменяемый массив на месте с семантикой транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки. |
Update<T>(T, Func<T,T>) |
Изменяет значение на месте с семантикой оптимистичной блокировки транзакции с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки. |
Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg)
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
Изменяет неизменяемый массив на месте с семантикой транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.
public:
generic <typename T, typename TArg>
static bool Update(System::Collections::Immutable::ImmutableArray<T> % location, Func<System::Collections::Immutable::ImmutableArray<T>, TArg, System::Collections::Immutable::ImmutableArray<T>> ^ transformer, TArg transformerArgument);
public static bool Update<T,TArg> (ref System.Collections.Immutable.ImmutableArray<T> location, Func<System.Collections.Immutable.ImmutableArray<T>,TArg,System.Collections.Immutable.ImmutableArray<T>> transformer, TArg transformerArgument);
static member Update : ImmutableArray * Func<System.Collections.Immutable.ImmutableArray<'T>, 'Arg, System.Collections.Immutable.ImmutableArray<'T>> * 'Arg -> bool
Public Shared Function Update(Of T, TArg) (ByRef location As ImmutableArray(Of T), transformer As Func(Of ImmutableArray(Of T), TArg, ImmutableArray(Of T)), transformerArgument As TArg) As Boolean
Параметры типа
- T
Тип данных в неизменяемом массиве.
- TArg
Тип аргумента, передаваемого в transformer
.
Параметры
- location
- ImmutableArray<T>
Изменяемый неизменяемый массив.
- transformer
- Func<ImmutableArray<T>,TArg,ImmutableArray<T>>
Функция, которая создает новый массив из старого. Эта функция не должна иметь побочных эффектов, так как она может выполняться несколько раз при возникновении гонок с другими потоками.
- transformerArgument
- TArg
Аргумент, передаваемый в transformer
.
Возвращаемое значение
true
, если значение расположения изменилось после применения результата функции transformer
; false
, если значение расположения осталось неизменным, поскольку последний вызов transformer
вернул существующее значение.
Применяется к
Update<T,TArg>(T, Func<T,TArg,T>, TArg)
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
Изменяет значение на месте с семантикой оптимистичной блокировки транзакции с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.
public:
generic <typename T, typename TArg>
where T : class static bool Update(T % location, Func<T, TArg, T> ^ transformer, TArg transformerArgument);
public static bool Update<T,TArg> (ref T location, Func<T,TArg,T> transformer, TArg transformerArgument) where T : class;
static member Update : 'T * Func<'T, 'Arg, 'T (requires 'T : null and 'T : null)> * 'Arg -> bool (requires 'T : null)
Public Shared Function Update(Of T As Class, TArg As Class) (ByRef location As T, transformer As Func(Of T, TArg, T), transformerArgument As TArg) As Boolean
Параметры типа
- T
Тип данных.
- TArg
Тип аргумента, передаваемого в transformer
.
Параметры
- location
- T
Переменная или изменяемое поле, к которым могут обращаться сразу несколько потоков.
- transformer
- Func<T,TArg,T>
Функция, изменяющая значение. Эта функция не должна иметь побочных эффектов, так как она может выполняться несколько раз при возникновении гонок с другими потоками.
- transformerArgument
- TArg
Аргумент, передаваемый в transformer
.
Возвращаемое значение
true
, если значение расположения изменилось после применения результата функции transformer
; false
, если значение расположения осталось неизменным, поскольку последний вызов transformer
вернул существующее значение.
Применяется к
Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>)
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
Изменяет неизменяемый массив на месте с семантикой транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.
public:
generic <typename T>
static bool Update(System::Collections::Immutable::ImmutableArray<T> % location, Func<System::Collections::Immutable::ImmutableArray<T>, System::Collections::Immutable::ImmutableArray<T>> ^ transformer);
public static bool Update<T> (ref System.Collections.Immutable.ImmutableArray<T> location, Func<System.Collections.Immutable.ImmutableArray<T>,System.Collections.Immutable.ImmutableArray<T>> transformer);
static member Update : ImmutableArray * Func<System.Collections.Immutable.ImmutableArray<'T>, System.Collections.Immutable.ImmutableArray<'T>> -> bool
Public Shared Function Update(Of T) (ByRef location As ImmutableArray(Of T), transformer As Func(Of ImmutableArray(Of T), ImmutableArray(Of T))) As Boolean
Параметры типа
- T
Тип данных в неизменяемом массиве.
Параметры
- location
- ImmutableArray<T>
Изменяемый неизменяемый массив.
- transformer
- Func<ImmutableArray<T>,ImmutableArray<T>>
Функция, которая создает новый массив из старого. Эта функция не должна иметь побочных эффектов, так как она может выполняться несколько раз при возникновении гонок с другими потоками.
Возвращаемое значение
true
, если значение расположения изменилось после применения результата функции transformer
; false
, если значение расположения осталось неизменным, поскольку последний вызов transformer
вернул существующее значение.
Применяется к
Update<T>(T, Func<T,T>)
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
- Исходный код:
- ImmutableInterlocked.cs
Изменяет значение на месте с семантикой оптимистичной блокировки транзакции с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.
public:
generic <typename T>
where T : class static bool Update(T % location, Func<T, T> ^ transformer);
public static bool Update<T> (ref T location, Func<T,T> transformer) where T : class;
static member Update : 'T * Func<'T, 'T (requires 'T : null and 'T : null)> -> bool (requires 'T : null)
Public Shared Function Update(Of T As Class) (ByRef location As T, transformer As Func(Of T, T)) As Boolean
Параметры типа
- T
Тип данных.
Параметры
- location
- T
Переменная или изменяемое поле, к которым могут обращаться сразу несколько потоков.
- transformer
- Func<T,T>
Функция, изменяющая значение. Эта функция не должна иметь побочных эффектов, так как она может выполняться несколько раз при возникновении гонок с другими потоками.
Возвращаемое значение
true
, если значение расположения изменилось после применения результата функции transformer
; false
, если значение расположения осталось неизменным, поскольку последний вызов transformer
вернул существующее значение.