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 に渡す引数。

戻り値

transformer 関数の結果を適用することにより場所の値が変更された場合は truetransformer の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false

適用対象

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 に渡す引数。

戻り値

transformer 関数の結果を適用することにより場所の値が変更された場合は truetransformer の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false

適用対象

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>>

古い から新しい配列を生成する関数。 この関数は、他のスレッドで競合が発生したときに複数回実行される可能性があるため、副作用のない状態にする必要があります。

戻り値

transformer 関数の結果を適用することにより場所の値が変更された場合は truetransformer の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false

適用対象

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>

値を変更する関数。 この関数は、他のスレッドで競合が発生したときに複数回実行される可能性があるため、副作用のない状態にする必要があります。

戻り値

transformer 関数の結果を適用することにより場所の値が変更された場合は truetransformer の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false

適用対象