System.Collections.Immutable.ImmutableInterlocked
public static TValue AddOrUpdate<TKey, TValue>(ref ImmutableDictionary location, TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory)
public static TValue AddOrUpdate<TKey, TValue>(ref ImmutableDictionary location, TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory)
public static TValue GetOrAdd<TKey, TValue, TArg>(ref ImmutableDictionary location, TKey key, Func<TKey, TArg, TValue> valueFactory, TArg factoryArgument)
public static TValue GetOrAdd<TKey, TValue>(ref ImmutableDictionary location, TKey key, Func<TKey, TValue> valueFactory)
public static TValue GetOrAdd<TKey, TValue>(ref ImmutableDictionary location, TKey key, TValue value)
public static ImmutableArray<T> InterlockedCompareExchange<T>(ref ImmutableArray location, ImmutableArray<T> value, ImmutableArray<T> comparand)
public static ImmutableArray<T> InterlockedExchange<T>(ref ImmutableArray location, ImmutableArray<T> value)
public static bool TryRemove<TKey, TValue>(ref ImmutableDictionary location, TKey key, out TValue value)
public static bool TryUpdate<TKey, TValue>(ref ImmutableDictionary location, TKey key, TValue newValue, TValue comparisonValue)
public static bool Update<T, TArg>(ref T location, Func<T, TArg, T> transformer, TArg transformerArgument)