UnityEngine.PropertiesModule An IPropertyBag_1 implementation for a built in array of TElement. Scope for using a given set of attributes. Initializes a new instance of the AttributesScope struct assigns the given attributes to the specified target. The target to set the attributes for. The source to copy attributes from. Re-assigns the original attributes to the target. Base class to implement a visitor responsible for getting an object's concrete type as a generic. Implement this method to receive the strongly typed callback for a given container. The reference to the container. Base class for implementing a static property bag for a specified container type. This is an abstract class. Adds a Property_2 to the property bag. The <see cref="Property{TContainer, TValue}" /> to add. Gets the property associated with the specified name. The container hosting the data. The name of the property to get. When this method returns, contains the property associated with the specified name, if the name is found; otherwise, null. true if the INamedProperties_1 contains a property with the specified name; otherwise, false. Use this attribute to have a property generated for the member. Indicates if the property should generate a setter. Represents a value property. Initializes a new instance of the DelegateProperty_2 class. The property name. The delegate to use when accessing the property value. The delegate to use when setting the property value. An IPropertyBag_1 implementation for a Dictionary_2 type. Use this attribute to prevent have a property from being automatically generated on a public field. Context object used during visitation to determine if a property should be visited or not. The property being visited. Context object used during visitation to determine if a property should be visited or not. The property being visited. Use this attribute to have the source generator generate property bags for a given type. Use this attribute to enable the source generator to run on this assembly. 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. Initializes a new instance of the GeneratePropertyBagsForTypeAttribute attribute. The type to generate a property bag for. The type to generate a property bag for. Use this attribute to have the properties source generator generate property bags for types implementing the specified interface. Initializes a new instance of the GeneratePropertyBagsForTypesQualifiedWithAttribute attribute. The interface type to generate property bags for. Additional type filtering options. Options used for additional filtering. The interface type to generate property bags for. An IPropertyBag_1 implementation for a HashSet_1 type. Base interface for working with a collection element property. Interface for accepting collection property visitation. Call this method to invoke ICollectionPropertyVisitor.Visit{TContainer, TCollection, TElement}. The visitor being run. The property being visited. The container being visited. The collection value Base untyped interface for implementing collection based property bags. Interface for accepting collection property bags visitation. Call this method to invoke ICollectionPropertyBagVisitor.Visit_2 with the strongly typed container. The visitor being run. The container being visited. Interface for visiting property bags. Implement this method to accept visitation for a collection of properties. The properties of the container. The container being visited. Interface for receiving strongly typed property callbacks for collections. Implement this method to accept visitation for a specialized collection property. The property being visited. The container being visited. The collection value. Interface over a property representing a untyped dictionary element. The key of this property in the dictionary. Interface over a property representing a typed dictionary element. The key of this property in the dictionary. Interface for accepting dictionary property visitation. Call this method to invoke IDictionaryPropertyVisitor.Visit{TContainer, TDictionary, TKey, TValue}. The visitor being run. The property being visited. The container being visited. The dictionary value. Base typed interface for implementing dictionary based property bags. Interface for accepting list property bags visitation. Call this method to invoke IDictionaryPropertyBagVisitor.Visit{TDictionary, TKey, TValue} with the strongly typed container. The visitor being run. The container being visited. Interface for visiting property bags. Implement this method to accept visitation for a collection of properties. The properties of the container. The container being visited. Interface for receiving strongly typed property callbacks for dictionaries. Implement this method to accept visitation for a specialized dictionary property. The property being visited. The container being visited. The dictionary value. Implement this interface to filter visitation for a specific TValue type. Invoked when the visitor encounters any property. The context being visited. The container being visited. The value being visited. true if visitation should be skipped, false otherwise. Implement this interface to filter visitation for a specific TContainer and TValue pair. Invoked when the visitor encounters specific a TContainer and TValue pair. The context being visited. The container being visited. The value being visited. true if visitation should be skipped, false otherwise. Implement this interface to filter visitation. Invoked when the visitor encounters any property. The context being visited. The container being visited. The value being visited. true if visitation should be skipped, false otherwise. Implement this interface to filter visitation for a specific TValue type. Invoked when the visitor encounters specific a TValue. The context being visited. The container being visited. The value being visited. true if visitation should be skipped, false otherwise. Implement this interface to filter visitation for a specific TContainer and TValue pair. Invoked when the visitor encounters specific a TContainer and TValue pair. The context being visited. The container being visited. The value being visited. true if visitation should be skipped, false otherwise. This interface provides access to an IProperty_1 of a IPropertyBag_1 by index. Gets the property associated with the specified index. The container hosting the data. The index of the property to get. When this method returns, contains the property associated with the specified index, if the name is found; otherwise, null. true if the IIndexedProperties_1 contains a property for the specified index; otherwise, false. This interface provides access to an IProperty_1 of a IPropertyBag_1 by a key. Gets the property associated with the specified name. The container hosting the data. The key to lookup. When this method returns, contains the property associated with the specified name, if the name is found; otherwise, null. true if the INamedProperties_1 contains a property with the specified name; otherwise, false. Interface over a property representing a list element. The index of this property in the list. Interface for accepting list property visitation. Call this method to invoke IListPropertyVisitor.Visit{TContainer, TList, TElement}. The visitor being run. The property being visited. The container being visited. The list value. Base typed interface for implementing list based property bags. Interface for accepting list property bags visitation. Call this method to invoke IListPropertyBagVisitor.Visit_2 with the strongly typed container. The visitor being run. The container being visited. Interface for visiting property bags. Implement this method to accept visitation for a collection of properties. The properties of the container. The container being visited. Interface for receiving strongly typed property callbacks for lists. Implement this method to accept visitation for a specialized list property. The property being visited. The container being visited. The list value. This interface provides access to an IProperty_1 of a IPropertyBag_1 by name. Gets the property associated with the specified name. The container hosting the data. The name of the property to get. When this method returns, contains the property associated with the specified name, if the name is found; otherwise, null. true if the INamedProperties_1 contains a property with the specified name; otherwise, false. An IPropertyBag_1 implementation for a generic collection of elements which can be accessed by index. This is based on the IList_1 interface. Implement this method to provide custom type instantiation with a count value for the container type. Gets the property associated with the specified index. The container hosting the data. The index of the property to get. When this method returns, contains the property associated with the specified index, if the name is found; otherwise, null. true if the IIndexedProperties_1 contains a property for the specified index; otherwise, false. Describes how a new instance is created. The type instantiation will be done using Activator. Not type instantiation should be performed for this type. The type instantiation will be done via a method override in PropertyBag_1 The exception that is thrown when trying to visit an invalid container type. Initializes a new instance of the MissingPropertyBagException class with a specified type. The invalid container type. Initializes a new instance of the MissingPropertyBagException class with a specified type and a reference to the inner exception that is the cause of this exception. The invalid container type. The inner exception reference. The type which triggered the exception. The exception that is thrown when trying to resolve an invalid path. Initializes a new instance of the InvalidPathException class with a specified path. The exception message. Initializes a new instance of the InvalidPathException class with a specified type and a reference to the inner exception that is the cause of this exception. The exception message. The inner exception reference. Base interface for working with properties. Returns the declared value type of the property. The declared value type. Returns the first attribute of the given type. The attribute of the given type for this property. Returns all attribute of the given type. An IEnumerable_1 for all attributes of the given type. Returns all attribute for this property. An IEnumerable_1 for all attributes. Returns true if the property has any attributes of the given type. true if the property has the given attribute type; otherwise, false. Gets a value indicating whether the property is read-only or not. Gets the name of the property. Base interface for working with properties. Returns the property value of a specified container. The container whose property value will be returned. The property value of the given container. Sets the property value of a specified container. The container whose property value will be set. The new property value. true if the value was set; otherwise, false. Interface for accepting property visitation. Call this method to invoke IPropertyVisitor.Visit_2 with the strongly typed container and value. The visitor being run. The container being visited. Base untyped interface for implementing property bags. Call this method to invoke ITypeVisitor.Visit_1 with the strongly typed container type. The visitor being run. Call this method to invoke IPropertyBagVisitor.Visit_1 with the strongly typed container for the given container object. The visitor to invoke the visit callback on. The container being visited. Base typed interface for implementing property bags. Call this method to invoke IPropertyBagVisitor.Visit_1 with the strongly typed container. The visitor being run. The container being visited. Creates and returns a new instance of TContainer. A new instance of TContainer. Returns an enumerator that iterates through all static properties for the type. A IEnumerator_1 structure for all properties. Returns an enumerator that iterates through all static and dynamic properties for the given container. The container hosting the data. A IEnumerator_1 structure for all properties. Tries to create a new instance of TContainer. When this method returns, contains the created instance, if type construction succeeded; otherwise, the default value for <typeparamref name="TContainer" />. true if a new instance of type TContainer was created; otherwise, false. Interface used to receive a visitation callbacks for property bags. Implement this method to accept visitation for a property bag and container. The properties of the container. The container being visited. Interface for receiving strongly typed property callbacks. Implement this method to accept visitation for a specific property. The property being visited. The container being visited. The base interface representing an adapter. Interface over a property representing a set element. The key of this property in the set. Interface over a property representing a set element. The key of this property in the set. Interface for accepting hash set property visitation. Call this method to invoke ISetPropertyVisitor.Visit{TContainer, TSet, TValue}. The visitor being run. The property being visited. The container being visited. The set value. Base typed interface for implementing set based property bags. Interface for accepting list property bags visitation. Call this method to invoke ISetPropertyBagVisitor.Visit_2 with the strongly typed container. The visitor being run. The container being visited. Interface for visiting property bags. Implement this method to accept visitation for a collection of properties. The properties of the container. The container being visited. Interface for receiving strongly typed property callbacks for sets. Implement this method to accept visitation for a specialized set property. The property being visited. The container being visited. The hash set value. Interface used to receive a visitation callbacks for a specific type. Implement this method to accept visitation for container type. Implement this interface to intercept the visitation for a specific TValue type. Invoked when the visitor encounters specific TValue type with any container. The context being visited. The container being visited. The value being visited. Implement this interface to intercept the visitation for a specific TContainer and TValue pair. Invoked when the visitor encounters specific a TContainer and TValue pair. The context being visited. The container being visited. The value being visited. Implement this interface to intercept the visitation of any primitive type. Implement this interface to handle visitation for all properties. Invoked when the visitor encounters any property. The context being visited. The container being visited. The value being visited. Implement this interface to intercept the visitation for a specific TValue type. Invoked when the visitor encounters specific TValue type with any container. The context being visited. The container being visited. The value being visited. Implement this interface to intercept the visitation for a specific TContainer and TValue pair. Invoked when the visitor encounters specific a TContainer and TValue pair. The context being visited. The container being visited. The value being visited. An IPropertyBag_1 implementation for a generic collection of key/value pairs using the IDictionary_2 interface. A IPropertyBag_1 implementation for a generic key/value pair. Gets the property associated with the specified name. The container hosting the data. The name of the property to get. When this method returns, contains the property associated with the specified name, if the name is found; otherwise, null. true if the INamedProperties_1 contains a property with the specified name; otherwise, false. A IPropertyBag_1 implementation for a List_1 type. The exception that is thrown when trying to visit a container with no property bag. Initializes a new instance of the MissingPropertyBagException class with a specified type. The type for which no property bag was found. Initializes a new instance of the MissingPropertyBagException class with a specified type and a reference to the inner exception that is the cause of this exception. The type for which no property bag was found. The inner exception reference. The type which triggered the exception. Helper visitor to visit a single property using a specified PropertyPath. The path to visit. Returns whether or not the visitor will write back values along the path. Resets the state of the visitor. Returns the error code encountered while visiting the provided path. Method called when the visitor has successfully visited the provided path. Base class for implementing properties. This is an abstract class. Call this method to invoke IPropertyVisitor.Visit_2 with the strongly typed container and value. The visitor being run. The container being visited. Adds an attribute to the property. The attribute to add. Adds a set of attributes to the property. The attributes to add. Returns the declared value type of the property. The declared value type. Returns the first attribute of the given type. The attribute of the given type for this property. Returns all attribute of the given type. An IEnumerable_1 for all attributes of the given type. Returns all attribute for this property. An IEnumerable_1 for all attributes. Returns the property value of a specified container. The container whose property value will be returned. The property value of the given container. Returns true if the property has any attributes of the given type. true if the property has the given attribute type; otherwise, false. Gets a value indicating whether the property is read-only or not. Gets the name of the property. Sets the property value of a specified container. The container whose property value will be set. The new property value. The PropertyBag class provides access to registered property bag instances. Accepts visitation for the given property bag and tries to invoke the most specialized visitor first. The property bag to visit. The visitor or specialized visitor to invoke. The container being visited. Returns true if a property bag exists for the given type. true if there is a property bag for the given type; otherwise, false. Returns true if a property bag exists for the given type. The type to check for a property bag true if there is a property bag for the given type; otherwise, false. Returns all the System.Type that have a registered property bag. A list of types with a registered property bag. Gets an interface to the PropertyBag_1 for the given type. The container type to resolve the property bag for. The resolved property bag. Gets the strongly typed PropertyBag_1 for the given TContainer. The resolved property bag, strongly typed. Registers a strongly typed PropertyBag_1 for a type. The <see cref="PropertyBag{TContainer}" /> to register. Creates and registers a IPropertyBag_1 for a built in array type. Creates and registers a IPropertyBag_1 for a built in array type. Creates and registers a IPropertyBag_1 for a Dictionary_2 type. Creates and registers a IPropertyBag_1 for a Dictionary_2 type. Creates and registers a IPropertyBag_1 for a HashSet_1 type. Creates and registers a IPropertyBag_1 for a HashSet_1 type. Creates and registers a IPropertyBag_1 for the specified IDictionary_2 type. Creates and registers a IPropertyBag_1 for the specified IDictionary_2 type. Creates and registers a IPropertyBag_1 for the specified IList_1 type. Creates and registers a IPropertyBag_1 for the specified IList_1 type. Creates and registers a IPropertyBag_1 for the specified ISet_1 type. Creates and registers a IPropertyBag_1 for the specified ISet_1 type. Creates and registers a IPropertyBag_1 for a List_1 type. Creates and registers a IPropertyBag_1 for a List_1 type. Gets a property bag for the concrete type of the given value. The value type to retrieve a property bag for. When this method returns, contains the property bag associated with the specified value, if the bag is found; otherwise, null. true if the property bag was found for the specified value; otherwise, false. Base class for implementing a property bag for a specified container type. This is an abstract class. Accepts visitation from a specified ITypeVisitor. The visitor handling visitation. Creates and returns a new instance of TContainer. A new instance of TContainer. Implement this method to return a PropertyCollection_1 that can enumerate through all properties for the TContainer. A PropertyCollection_1 structure which can enumerate each property. Implement this method to return a PropertyCollection_1 that can enumerate through all properties for the TContainer. The container hosting the data. A PropertyCollection_1 structure which can enumerate each property. Implement this method to provide custom type instantiation for the container type. Implement this property and return true to provide custom type instantiation for the container type. Tries to create a new instance of TContainer. When this method returns, contains the created instance, if type instantiation succeeded; otherwise, the default value for <typeparamref name="TContainer" />. true if a new instance of type TContainer was created; otherwise, false. The PropertyCollection_1 struct provides enumerable access to all IProperty_1 for a given PropertyBag_1. Initializes a new instance of the PropertyCollection_1 struct which wraps the given enumerable. An <see cref="IEnumerable" /> of properties to wrap. Initializes a new instance of the PropertyCollection_1 struct which wraps the given properties list. A list of properties to wrap. Returns an empty collection of properties. An enumerator struct to enumerate all properties for the given TContainer. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Disposes of the underlying enumerator. Advances the enumerator to the next element of the collection. true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. The PropertyContainer class is used as the entry point to operate on data containers using properties. Visit the specified using the specified . The visitor. The container to visit. The visit parameters to use. Visit the specified using the specified at the given PropertyPath. The visitor. The container to visit. The property path to visit. The visit parameters to use. Gets an IProperty on the specified container for the given PropertyPath. The container tree to search. The property path to resolve. The IProperty for the given path. Gets the value of a property by name. The container whose property value will be returned. The name of the property to get. The value for the specified name. Gets the value of a property by path. The container whose property value will be returned. The path of the property to get. The value at the specified path. Returns true if a property exists at the specified PropertyPath. The container tree to search. The property path to resolve. true if a property can be found at path. Returns true if a property exists at the specified PropertyPath. The container tree to search. The property path to resolve. true if a property can be found at path. Sets the value of a property by name to the given value. The container whose property will be set. The name of the property to set. The value to assign to the property. Sets the value of a property at the given path to the given value. The container whose property will be set. The path of the property to set. The value to assign to the property. Tries to visit the specified by ref using the specified . The visitor. The container to visit. The visit parameters to use. true if the visitation succeeded; false otherwise. Tries to visit the specified by ref using the specified . The visitor. The container to visit. The visit parameters to use. When this method returns, contains the return code. true if the visitation succeeded; false otherwise. Visit the specified using the specified at the given PropertyPath. The visitor. The container to visit. The property path to visit. When this method returns, contains the return code. The visit parameters to use. Gets an IProperty on the specified container for the given PropertyPath. The container tree to search. The property path to resolve. When this method returns, contains the property associated with the specified path, if the property is found; otherwise, null. true if the property was found at the specified path; otherwise, false. Gets an IProperty on the specified container for the given PropertyPath. The container tree to search. The property path to resolve. When this method returns, contains the property associated with the specified path, if the property is found; otherwise, null. When this method returns, contains the return code. true if the property was found at the specified path; otherwise, false. Gets the value of a property by name. The container whose property value will be returned. The name of the property to get. When this method returns, contains the value associated with the specified name, if the property is found. otherwise the default value for the <typeparamref name="TValue" />. true if the value exists for the specified name; otherwise, false. Gets the value of a property by path. The container whose property value will be returned. The path of the property to get. When this method returns, contains the value associated with the specified path, if the property is found. otherwise the default value for the <typeparamref name="TValue" />. true if the value exists at the specified path; otherwise, false. Gets the value of a property by path. The container whose property value will be returned. The path of the property to get. When this method returns, contains the value associated with the specified path, if the property is found. otherwise the default value for the <typeparamref name="TValue" />. When this method returns, contains the return code. true if the value exists at the specified path; otherwise, false. Tries to set the value of a property at the given path to the given value. The container whose property will be set. The name of the property to set. The value to assign to the property. true if the value was set correctly; false otherwise. Tries to set the value of a property at the given path to the given value. The container whose property will be set. The path of the property to set. The value to assign to the property. true if the value was set correctly; false otherwise. Tries to set the value of a property at the given path to the given value. The container whose property will be set. The path of the property to set. The value to assign to the property. When this method returns, contains the return code. true if the value was set correctly; false otherwise. Represents the method that will handle getting a TValue type for a specified . The container which holds the data. A PropertyPath is used to store a reference to a single property within a tree. Returns a new PropertyPath combining the given PropertyPath and an index-type PropertyPathPart. The <see cref="PropertyPath" /> The index to add. A new PropertyPath Returns a new PropertyPath combining the given PropertyPath and an key-type PropertyPathPart. The <see cref="PropertyPath" /> The key to add. A new PropertyPath Returns a new PropertyPath combining the given PropertyPath and an name-type PropertyPathPart. The <see cref="PropertyPath" /> The part name to add. A new PropertyPath Returns a new PropertyPath combining the given PropertyPath and PropertyPathPart. The <see cref="PropertyPath" /> The part to add. A new PropertyPath Returns a new PropertyPath combining the given PropertyPath and a PropertyPathPart whose type will be based on the property interfaces. The <see cref="PropertyPath" /> The property to add. A new PropertyPath Returns a new PropertyPath combining the parts of the two given PropertyPath. The <see cref="PropertyPath" /> The <see cref="PropertyPath" /> to append. A new PropertyPath Returns a new PropertyPath combining the parts of the two given PropertyPath. The <see cref="PropertyPath" /> The string path to append. A new PropertyPath Initializes a new instance of the PropertyPath based on the given property string. The string path to initialize this instance with. Indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if obj and this instance are the same type and represent the same value; otherwise, false. Returns a new PropertyPath from the provided index. The index of the <see cref="PropertyPathPart" />. A new PropertyPath Returns a new PropertyPath from the provided key. The key of the <see cref="PropertyPathPart" />. A new PropertyPath Returns a new PropertyPath from the provided name. The name of the <see cref="PropertyPathPart" />. A new PropertyPath Returns a new PropertyPath from the provided PropertyPathPart. The <see cref="PropertyPathPart" /> A new PropertyPath Gets if there is any part contained in the PropertyPath. Gets the number of parts contained in the PropertyPath. Returns a new PropertyPath that will not include the last PropertyPathPart. The <see cref="PropertyPath" /> A new PropertyPath Returns a new PropertyPath containing the PropertyPathPart starting at the given start index. The <see cref="PropertyPath" /> The zero-based index where the sub path should start. A new PropertyPath Returns a new PropertyPath containing the given number of PropertyPathPart starting at the given start index. The <see cref="PropertyPath" /> The zero-based index where the sub path should start. The number of parts to include. A new PropertyPath Gets the PropertyPathPart at the given index. A PropertyPathPart represents a single element of the path. Initializes a new PropertyPathPart with the specified name. The name of the part. Initializes a new PropertyPathPart with the specified index. The index of the part. Initializes a new PropertyPathPart with the specified key. The key of the part. Indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if obj and this instance are the same type and represent the same value; otherwise, false. The Index of the part. This will only be set when using PropertyPathPartKind.Index Returns true if the part is PropertyPathPartKind.Index. Returns true if the part is PropertyPathPartKind.Key. Returns true if the part is PropertyPathPartKind.Name. The Key of the part. This will only be set when using PropertyPathPartKind.Key The PropertyPathPartKind for this path. This determines how algorithms will resolve the path. The Name of the part. This will only be set when using PropertyPathPartKind.Name A PropertyPathPartKind specifies a type for a PropertyPathPart. Represents an indexed part of the path. Represents a keyed part of the path. Represents a named part of the path. Represents the method that will handle setting a specified for a specified . The container on which to set the data. The value to set. Base class for implementing algorithms using properties. This is an abstract class. Adds an adapter to the visitor. The adapter to add. Called before visiting each property to determine if the property should be visited. The property providing access to the data. The container being visited. The value being visited. true if the property should be skipped; otherwise, false. Removes an adapter from the visitor. The adapter to remove. Called when visiting any non-specialized collection property. The property providing access to the collection. The container being visited. The collection being visited. Called when visiting a specialized dictionary property. The property providing access to the dictionary. The container being visited. The dictionary being visited. Called when visiting a specialized list property. The property providing access to the list. The container being visited. The list being visited. Called when visiting any leaf property with no specialized handling. The property providing access to the value. The container being visited. The value being visited. Called when visiting a specialized set property. The property providing access to the list. The container being visited. The list being visited. A ReflectedMemberProperty_2 provides strongly typed access to an underlying FieldInfo or PropertyInfo object. Initializes a new ReflectedMemberProperty_2 instance for the specified FieldInfo. The system reflection field info. Use this name property--this might override the MemberInfo name Initializes a new ReflectedMemberProperty_2 instance for the specified PropertyInfo. The system reflection property info. Use this name property--this might override the MemberInfo name A IPropertyBag_1 implementation for a generic set of elements using the ISet_1 interface. Gets the property associated with the specified name. The container hosting the data. The key to lookup. When this method returns, contains the property associated with the specified name, if the name is found; otherwise, null. true if the INamedProperties_1 contains a property with the specified name; otherwise, false. Helper class to handle type conversion during properties API calls. Converts the specified value from TSource to TDestination. The source value to convert. The value converted to the TDestination type. Registers a new converter from TSource to TDestination. Conversion delegate Converts the specified value from TSource to TDestination. The source value to convert. When this method returns, contains the converted destination value if the conversion succeeded; otherwise, default. true if the conversion succeeded; otherwise, false. Represents the method that will handle converting an object of type TSource to an object of type TDestination. The source value to be converted. A set of options to customize the behaviour of the code generator. The default set of type options. This includes both ValueType and ReferenceType. If this option is selected, no property bags will be generated. If this option is selected, any inherited reference types will have property bags generated. If this option is selected, any inherited value types will have property bags generated. Helper class to avoid paying the cost of runtime type lookups. Returns true if the given type can be treated as a container. i.e. not primitive, pointer, enum or string. The type to test. true if the given type is a container type; false otherwise. 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) Gets a value indicating whether T can be null. i.e. The type is an object or nullable. Gets a value indicating whether T is an abstract type. Gets a value indicating whether T is an abstract or interface type. Gets a value indicating whether T is an array type. Gets a value indicating whether T is a property container type. Gets a value indicating whether T is an enum type. Gets a value indicating whether T is an flags enum type. Gets a value indicating whether T is an interface type. Gets a value indicating whether T is a UnityEngine.LazyLoadReference_1 type. Gets a value indicating whether T is a multidimensional array type. Gets a value indicating whether T is a nullable type. Gets a value indicating whether T is Object type. Gets a value indicating whether T is a primitive type. Gets a value indicating whether T is a primitive or string type. Gets a value indicating whether T is string type. Gets a value indicating whether T is a UnityEngine.Object type. Gets a value indicating whether T is a value type. Utility class around System.Type. Returns true if the specified type is instantiatable. The type to query. true if the given type is instantiatable. Returns true if type T is instantiatable. true if type T is instantiatable. Utility method to return the base type. The <see cref="System.Type" /> for which we want the base type. The base type. Utility method to get the name of a type which includes the parent type(s). The <see cref="System.Type" /> we want the name of. The display name of the type. Creates a new instance of the specified T. A new instance of the T. Creates a new instance of the given type type and returns it as T. The type we want to create a new instance of. a new instance of the T type. Creates a new instance of an array with the given count. The size of the array to instantiate. The array newly created array. Creates a new instance of an array with the given type and given count. The type we want to create a new instance of. The size of the array to instantiate. The array newly created array. Sets an explicit instantiation method for the T type. The instantiation method. Creates a new instance of the specified T. When this method returns, contains the created instance, if type instantiation succeeded; otherwise, the default value for <typeparamref name="T" />. true if a new instance of type T was created; otherwise, false. Tries to create a new instance of the given type type and returns it as T. The type we want to create a new instance of. When this method returns, contains the created instance, if type instantiation succeeded; otherwise, the default value for <typeparamref name="T" />. true if a new instance of the given type could be created. Tries to create a new instance of an array with the given count. The count the array should have. When this method returns, contains the created instance, if type instantiation succeeded; otherwise, the default value for <typeparamref name="TArray" />. true if the type was instantiated; otherwise, false. Context object used during visitation when a IProperty_1 is visited. Continues visitation through the next visitation adapter. The container being visited. Continues visitation while skipping the next visitation adapters. The container being visited. The property being visited. Context object used during visitation when a IProperty_1 is visited. Continues visitation through the next visitation adapter. The container being visited. The value being visited. Continues visitation while skipping the next visitation adapters. The container being visited. The value being visited. The property being visited. Flags used to specify a set of exceptions. Use this flag to specify all exceptions. Flag used to specify internal exceptions thrown by the core visitation. Flag used to specify no exception types. Use this flag to specify exceptions thrown from the visitor code itself. Custom parameters to use for visitation. Use this options to ignore specific exceptions during visitation. Internal return code used during path visitation. Failed to set value at path because it is read-only. Failed to reinterpret the target value as the requested type. The given container type is not valid for visitation. Failed to resolve some part of the path (e.g. Name, Index or Key). No property bag was found for the given container type. The container being visited was null. The visitation resolved successfully. Interfaces and utilities to describe and visit data containers.