docs.unity.cn
    Show / Hide Table of Contents

    Class SerializedDictionary<K, V>

    Unity can't serialize Dictionary so here's a custom wrapper that does. Note that you have to extend it before it can be serialized as Unity won't serialized generic-based types either.

    Inheritance
    Object
    Dictionary<K, V>
    SerializedDictionary<K, V, K, V>
    SerializedDictionary<K, V>
    Inherited Members
    SerializedDictionary<K, V, K, V>.SerializeKey(K)
    SerializedDictionary<K, V, K, V>.SerializeValue(V)
    SerializedDictionary<K, V, K, V>.DeserializeKey(K)
    SerializedDictionary<K, V, K, V>.DeserializeValue(V)
    SerializedDictionary<K, V, K, V>.OnBeforeSerialize()
    SerializedDictionary<K, V, K, V>.OnAfterDeserialize()
    Dictionary<K, V>.Add(K, V)
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<K, V>>.Add(System.Collections.Generic.KeyValuePair<K, V>)
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<K, V>>.Contains(System.Collections.Generic.KeyValuePair<K, V>)
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<K, V>>.Remove(System.Collections.Generic.KeyValuePair<K, V>)
    Dictionary<K, V>.Clear()
    Dictionary<K, V>.ContainsKey(K)
    Dictionary<K, V>.ContainsValue(V)
    Dictionary<K, V>.GetEnumerator()
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<K, V>>.GetEnumerator()
    Dictionary<K, V>.GetObjectData(SerializationInfo, StreamingContext)
    Dictionary<K, V>.OnDeserialization(Object)
    Dictionary<K, V>.Remove(K)
    Dictionary<K, V>.TryGetValue(K, V)
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<K, V>>.CopyTo(System.Collections.Generic.KeyValuePair<K, V>[], System.Int32)
    Dictionary<K, V>.ICollection.CopyTo(Array, Int32)
    Dictionary<K, V>.IEnumerable.GetEnumerator()
    System.Collections.Generic.Dictionary<K, V>.System.Collections.IDictionary.get_Item(System.Object)
    System.Collections.Generic.Dictionary<K, V>.System.Collections.IDictionary.set_Item(System.Object, System.Object)
    Dictionary<K, V>.IDictionary.Add(Object, Object)
    Dictionary<K, V>.IDictionary.Contains(Object)
    Dictionary<K, V>.IDictionary.GetEnumerator()
    Dictionary<K, V>.IDictionary.Remove(Object)
    Dictionary<K, V>.Comparer
    Dictionary<K, V>.Count
    Dictionary<K, V>.Keys
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.IDictionary<K, V>.Keys
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.IReadOnlyDictionary<K, V>.Keys
    Dictionary<K, V>.Values
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.IDictionary<K, V>.Values
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.IReadOnlyDictionary<K, V>.Values
    Dictionary<K, V>.Item[K]
    System.Collections.Generic.Dictionary<K, V>.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<K, V>>.IsReadOnly
    Dictionary<K, V>.ICollection.IsSynchronized
    Dictionary<K, V>.ICollection.SyncRoot
    Dictionary<K, V>.IDictionary.IsFixedSize
    Dictionary<K, V>.IDictionary.IsReadOnly
    Dictionary<K, V>.IDictionary.Keys
    Dictionary<K, V>.IDictionary.Values
    Dictionary<K, V>.IDictionary.Item[Object]
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.Rendering
    Syntax
    [Serializable]
    public class SerializedDictionary<K, V> : SerializedDictionary<K, V, K, V>, IDictionary<K, V>, ICollection<KeyValuePair<K, V>>, IDictionary, ICollection, IReadOnlyDictionary<K, V>, IReadOnlyCollection<KeyValuePair<K, V>>, IEnumerable<KeyValuePair<K, V>>, IEnumerable, ISerializable, IDeserializationCallback, ISerializationCallbackReceiver
    Type Parameters
    Name Description
    K

    The key type

    V

    The value

    Examples

    public sealed class MyDictionary : SerializedDictionary<KeyType, ValueType> {}

    Methods

    DeserializeKey(K)

    Conversion to serialize a key

    Declaration
    public override K DeserializeKey(K key)
    Parameters
    Type Name Description
    K key

    The key to serialize

    Returns
    Type Description
    K

    The Key that has been serialized

    Overrides
    UnityEngine.Rendering.SerializedDictionary<K, V, K, V>.DeserializeKey(K)

    DeserializeValue(V)

    Conversion to serialize a value

    Declaration
    public override V DeserializeValue(V val)
    Parameters
    Type Name Description
    V val

    The value

    Returns
    Type Description
    V

    The value

    Overrides
    UnityEngine.Rendering.SerializedDictionary<K, V, K, V>.DeserializeValue(V)

    SerializeKey(K)

    Conversion to serialize a key

    Declaration
    public override K SerializeKey(K key)
    Parameters
    Type Name Description
    K key

    The key to serialize

    Returns
    Type Description
    K

    The Key that has been serialized

    Overrides
    UnityEngine.Rendering.SerializedDictionary<K, V, K, V>.SerializeKey(K)

    SerializeValue(V)

    Conversion to serialize a value

    Declaration
    public override V SerializeValue(V val)
    Parameters
    Type Name Description
    V val

    The value

    Returns
    Type Description
    V

    The value

    Overrides
    UnityEngine.Rendering.SerializedDictionary<K, V, K, V>.SerializeValue(V)

    Extension Methods

    AnalyticsUtils.ToNestedColumn<T>(T, Boolean)
    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, Boolean)
    ReflectionUtils.Invoke(Object, String, Object[])
    ReflectionUtils.SetField(Object, String, Object)
    ReflectionUtils.GetField(Object, String)
    ReflectionUtils.GetFields(Object)
    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on 08 September 2023