docs.unity3d.com
    Show / Hide Table of Contents

    Namespace Unity.Properties

    Classes

    AOT

    Helper class to preserve generic methods for AOT platforms.

    AOT.DictionaryPropertyGenerator<TContainer, TDictionary, TKey, TValue>

    Helper class to preserve dictionary property code paths.

    AOT.ListPropertyGenerator<TContainer, TList, TElement>

    Helper class to preserve list property code paths.

    AOT.PropertyBagGenerator<TContainer>

    Helper class to preserve property bag code paths.

    AOT.PropertyGenerator<TContainer, TValue>

    Helper class to preserve property property code paths.

    AOT.SetPropertyGenerator<TContainer, TSet, TValue>

    Helper class to preserve set property code paths.

    ArrayPropertyBag<TElement>

    An IPropertyBag<TContainer> implementation for a built in array of TElement.

    ConcreteTypeVisitor

    Base class to implement a visitor responsible for getting an object's concrete type as a generic.

    ContainerPropertyBag<TContainer>

    Base class for implementing a static property bag for a specified container type. This is an abstract class.

    CreatePropertyAttribute

    Use this attribute to have a property generated for the member.

    DelegateProperty<TContainer, TValue>

    Represents a value property.

    DictionaryPropertyBag<TKey, TValue>

    An IPropertyBag<TContainer> implementation for a Dictionary<TKey,TValue> type.

    DontCreatePropertyAttribute

    Use this attribute to prevent have a property from being automatically generated on a public field.

    GeneratePropertyBagAttribute

    Use this attribute to have the source generator generate property bags for a given type.

    GeneratePropertyBagsForAssemblyAttribute

    Use this attribute to enable the source generator to run on this assembly.

    GeneratePropertyBagsForTypeAttribute

    Use this attribute to have the source generator generate a property bag for a given type. This attribute works for the specified type ONLY, it does NOT include derived types.

    GeneratePropertyBagsForTypesQualifiedWithAttribute

    Use this attribute to have the properties source generator generate property bags for types implementing the specified interface.

    HashSetPropertyBag<TElement>

    An IPropertyBag<TContainer> implementation for a HashSet<T> type.

    IndexedCollectionPropertyBag<TList, TElement>

    An IPropertyBag<TContainer> implementation for a generic collection of elements which can be accessed by index. This is based on the IList<T> interface.

    InvalidContainerTypeException

    The exception that is thrown when trying to visit an invalid container type.

    InvalidPathException

    The exception that is thrown when trying to resolve an invalid path.

    KeyValueCollectionPropertyBag<TDictionary, TKey, TValue>

    An IPropertyBag<TContainer> implementation for a generic collection of key/value pairs using the IDictionary<TKey,TValue> interface.

    KeyValuePairPropertyBag<TKey, TValue>

    A IPropertyBag<TContainer> implementation for a generic key/value pair.

    ListPropertyBag<TElement>

    A IPropertyBag<TContainer> implementation for a List<T> type.

    MissingPropertyBagException

    The exception that is thrown when trying to visit a container with no property bag.

    PathVisitor

    Helper visitor to visit a single property using a specified PropertyPath.

    Property<TContainer, TValue>

    Base class for implementing properties. This is an abstract class.

    PropertyBag

    The PropertyBag class provides access to registered property bag instances.

    PropertyBag<TContainer>

    Base class for implementing a property bag for a specified container type. This is an abstract class.

    PropertyContainer

    The PropertyContainer class is used as the entry point to operate on data containers using properties.

    PropertyVisitor

    Base class for implementing algorithms using properties. This is an abstract class.

    ReflectedMemberProperty<TContainer, TValue>

    A ReflectedMemberProperty<TContainer, TValue> provides strongly typed access to an underlying FieldInfo or PropertyInfo object.

    SetPropertyBagBase<TSet, TElement>

    A IPropertyBag<TContainer> implementation for a generic set of elements using the interface.

    TypeConversion

    Helper class to handle type conversion during properties API calls.

    TypeTraits

    Helper class to avoid paying the cost of runtime type lookups.

    TypeTraits<T>

    Helper class to avoid paying the cost of runtime type lookups.

    This is also used to abstract underlying type info in the runtime (e.g. RuntimeTypeHandle vs StaticTypeReg)

    TypeUtility

    Utility class around Type.

    Structs

    AttributesScope

    Scope for using a given set of attributes.

    ExcludeContext<TContainer>

    Context object used during visitation to determine if a property should be visited or not.

    ExcludeContext<TContainer, TValue>

    Context object used during visitation to determine if a property should be visited or not.

    PropertyCollection<TContainer>

    The PropertyCollection<TContainer> struct provides enumerable access to all IProperty<TContainer> for a given PropertyBag<TContainer>.

    PropertyCollection<TContainer>.Enumerator

    An enumerator struct to enumerate all properties for the given .

    PropertyPath

    A PropertyPath is used to store a reference to a single property within a tree.

    PropertyPathPart

    A PropertyPathPart represents a single element of the path.

    VisitContext<TContainer>

    Context object used during visitation when a IProperty<TContainer> is visited.

    VisitContext<TContainer, TValue>

    Context object used during visitation when a IProperty<TContainer> is visited.

    VisitParameters

    Custom parameters to use for visitation.

    Interfaces

    ICollectionElementProperty

    Base interface for working with a collection element property.

    ICollectionPropertyAccept<TCollection>

    Interface for accepting collection property visitation.

    ICollectionPropertyBag<TCollection, TElement>

    Base untyped interface for implementing collection based property bags.

    ICollectionPropertyBagAccept<TContainer>

    Interface for accepting collection property bags visitation.

    ICollectionPropertyBagVisitor

    Interface for visiting property bags.

    ICollectionPropertyVisitor

    Interface for receiving strongly typed property callbacks for collections.

    IDictionaryElementProperty

    Interface over a property representing a untyped dictionary element.

    IDictionaryElementProperty<TKey>

    Interface over a property representing a typed dictionary element.

    IDictionaryPropertyAccept<TDictionary>

    Interface for accepting dictionary property visitation.

    IDictionaryPropertyBag<TDictionary, TKey, TValue>

    Base typed interface for implementing dictionary based property bags.

    IDictionaryPropertyBagAccept<TContainer>

    Interface for accepting list property bags visitation.

    IDictionaryPropertyBagVisitor

    Interface for visiting property bags.

    IDictionaryPropertyVisitor

    Interface for receiving strongly typed property callbacks for dictionaries.

    IExcludeContravariantPropertyAdapter<TValue>

    Implement this interface to filter visitation for a specific type.

    IExcludeContravariantPropertyAdapter<TContainer, TValue>

    Implement this interface to filter visitation for a specific and pair.

    IExcludePropertyAdapter

    Implement this interface to filter visitation.

    IExcludePropertyAdapter<TValue>

    Implement this interface to filter visitation for a specific type.

    IExcludePropertyAdapter<TContainer, TValue>

    Implement this interface to filter visitation for a specific and pair.

    IIndexedProperties<TContainer>

    This interface provides access to an IProperty<TContainer> of a IPropertyBag<TContainer> by index.

    IKeyedProperties<TContainer, TKey>

    This interface provides access to an IProperty<TContainer> of a IPropertyBag<TContainer> by a key.

    IListElementProperty

    Interface over a property representing a list element.

    IListPropertyAccept<TList>

    Interface for accepting list property visitation.

    IListPropertyBag<TList, TElement>

    Base typed interface for implementing list based property bags.

    IListPropertyBagAccept<TContainer>

    Interface for accepting list property bags visitation.

    IListPropertyBagVisitor

    Interface for visiting property bags.

    IListPropertyVisitor

    Interface for receiving strongly typed property callbacks for lists.

    INamedProperties<TContainer>

    This interface provides access to an IProperty<TContainer> of a IPropertyBag<TContainer> by name.

    IProperty

    Base interface for working with properties.

    IProperty<TContainer>

    Base interface for working with properties.

    IPropertyAccept<TContainer>

    Interface for accepting property visitation.

    IPropertyBag

    Base untyped interface for implementing property bags.

    IPropertyBag<TContainer>

    Base typed interface for implementing property bags.

    IPropertyBagVisitor

    Interface used to receive a visitation callbacks for property bags.

    IPropertyVisitor

    Interface for receiving strongly typed property callbacks.

    IPropertyVisitorAdapter

    The base interface representing an adapter.

    ISetElementProperty

    Interface over a property representing a set element.

    ISetElementProperty<TKey>

    Interface over a property representing a set element.

    ISetPropertyAccept<TSet>

    Interface for accepting hash set property visitation.

    ISetPropertyBag<TSet, TElement>

    Base typed interface for implementing set based property bags.

    ISetPropertyBagAccept<TContainer>

    Interface for accepting list property bags visitation.

    ISetPropertyBagVisitor

    Interface for visiting property bags.

    ISetPropertyVisitor

    Interface for receiving strongly typed property callbacks for sets.

    ITypeVisitor

    Interface used to receive a visitation callbacks for a specific type.

    IVisitContravariantPropertyAdapter<TValue>

    Implement this interface to intercept the visitation for a specific type.

    IVisitContravariantPropertyAdapter<TContainer, TValue>

    Implement this interface to intercept the visitation for a specific and pair.

    IVisitPrimitivesPropertyAdapter

    Implement this interface to intercept the visitation of any primitive type.

    IVisitPropertyAdapter

    Implement this interface to handle visitation for all properties.

    IVisitPropertyAdapter<TValue>

    Implement this interface to intercept the visitation for a specific type.

    IVisitPropertyAdapter<TContainer, TValue>

    Implement this interface to intercept the visitation for a specific and pair.

    Enums

    InstantiationKind

    Describes how a new instance is created.

    PropertyPathPartKind

    A PropertyPathPartKind specifies a type for a PropertyPathPart.

    TypeGenerationOptions

    A set of options to customize the behaviour of the code generator.

    VisitExceptionKind

    Flags used to specify a set of exceptions.

    VisitReturnCode

    Internal return code used during path visitation.

    Delegates

    PropertyGetter<TContainer, TValue>

    Represents the method that will handle getting a TValue type for a specified container.

    PropertySetter<TContainer, TValue>

    Represents the method that will handle setting a specified value for a specified container.

    TypeConverter<TSource, TDestination>

    Represents the method that will handle converting an object of type TSource to an object of type TDestination.

    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023