Skip to main content

Class SerializableTypeBase

Namespace: Aspid.FastTools.Types
Assembly: Aspid.FastTools.dll

Shared implementation of the serializable Type wrappers: stores the type by its assembly-qualified name and resolves it lazily on first access.

[Serializable]
public abstract class SerializableTypeBase : ISerializableType, ISerializationCallbackReceiver

Inheritance​

object ← SerializableTypeBase

Derived​

SerializableMonoScript, SerializableType

Implements​

ISerializableType, ISerializationCallbackReceiver

Extension Methods​

TextInputBaseFieldTextSelectionExtensions.AddOnCursorIndexChange<SerializableTypeBase, TValue>(SerializableTypeBase, Action), TextInputBaseFieldTextSelectionExtensions.AddOnSelectIndexChange<SerializableTypeBase, TValue>(SerializableTypeBase, Action), INotifyValueChangedExtensions.AddValueChanged<SerializableTypeBase, TValue>(SerializableTypeBase, EventCallback<ChangeEvent<TValue>>), ProfilerMarkerExtensionsForGenerator.Marker<SerializableTypeBase>(SerializableTypeBase), TextInputBaseFieldTextSelectionExtensions.RemoveOnCursorIndexChange<SerializableTypeBase, TValue>(SerializableTypeBase, Action), TextInputBaseFieldTextSelectionExtensions.RemoveOnSelectIndexChange<SerializableTypeBase, TValue>(SerializableTypeBase, Action), INotifyValueChangedExtensions.RemoveValueChanged<SerializableTypeBase, TValue>(SerializableTypeBase, EventCallback<ChangeEvent<TValue>>), TextInputBaseFieldExtensions.SetAutoCorrection<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetCursorIndex<SerializableTypeBase, TValue>(SerializableTypeBase, int), TextInputBaseFieldExtensions.SetDelayed<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetDoubleClickSelectsWord<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldExtensions.SetHideMobileInput<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldExtensions.SetHidePlaceholderOnFocus<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldExtensions.SetHideSoftKeyboard<SerializableTypeBase, TValue>(SerializableTypeBase, bool), SliderExtensions.SetHighValue<SerializableTypeBase, TValue>(SerializableTypeBase, TValue), TextInputBaseFieldExtensions.SetKeyboardType<SerializableTypeBase, TValue>(SerializableTypeBase, TouchScreenKeyboardType), BaseFieldExtensions.SetLabel<SerializableTypeBase, TValue>(SerializableTypeBase, string), SliderExtensions.SetLowValue<SerializableTypeBase, TValue>(SerializableTypeBase, TValue), TextInputBaseFieldExtensions.SetMaskChar<SerializableTypeBase, TValue>(SerializableTypeBase, char), TextInputBaseFieldExtensions.SetMaxLength<SerializableTypeBase, TValue>(SerializableTypeBase, int), TextInputBaseFieldExtensions.SetPassword<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldExtensions.SetPlaceholder<SerializableTypeBase, TValue>(SerializableTypeBase, string), TextInputBaseFieldExtensions.SetReadOnly<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnFocus<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectAllOnMouseUp<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetSelectIndex<SerializableTypeBase, TValue>(SerializableTypeBase, int), TextInputBaseFieldTextSelectionExtensions.SetSelectable<SerializableTypeBase, TValue>(SerializableTypeBase, bool), TextInputBaseFieldTextSelectionExtensions.SetTripleClickSelectsLine<SerializableTypeBase, TValue>(SerializableTypeBase, bool), INotifyValueChangedExtensions.SetValue<SerializableTypeBase, TValue>(SerializableTypeBase, TValue, bool)

Remarks​

Not meant to be derived from outside the package — use SerializableType or SerializableMonoScript. Unity serializes the name under the same field for all of them, so every wrapper shares one serialized layout.

Properties​

AssemblyQualifiedName​

Gets the stored assembly-qualified type name, or an empty string when no type is stored.

public string AssemblyQualifiedName { get; }

Property Value​

string

Remarks​

Kept even when it no longer resolves, so the Inspector can show what the field used to point at.

BaseType​

Gets the constraint the stored type must satisfy; Object when unconstrained.

public abstract Type BaseType { get; }

Property Value​

Type

Type​

Gets the resolved type, or null when no type is stored or its stored name cannot be resolved.

public Type? Type { get; }

Property Value​

Type?

Methods​

ToString()​

Returns the short name of the resolved type, the stored name when it cannot be resolved, or an empty string when no type is stored.

public override string ToString()

Returns​

string