Class PropertyPath
A PropertyPath is used to store a reference to a single property within a tree.
Namespace: Unity.Properties
Syntax
public class PropertyPath : IEquatable<PropertyPath>
Remarks
The path is stored as an array of parts and can be easily queried for algorithms.
Constructors
PropertyPath()
Initializes a new instance of the PropertyPath class that is empty.
Declaration
public PropertyPath()
PropertyPath(String)
Initializes a new instance of the PropertyPath based on the given property string.
Declaration
public PropertyPath(string path)
Parameters
Type | Name | Description |
---|---|---|
String | path | The string path to initialize this instance with. |
Properties
Empty
Gets if there is any part contained in the PropertyPath.
Declaration
public bool Empty { get; }
Property Value
Type | Description |
---|---|
Boolean |
Item[Int32]
Gets the PropertyPath.Part at the given index.
Declaration
public PropertyPath.Part this[int index] { get; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | index |
Property Value
Type | Description |
---|---|
PropertyPath.Part |
PartsCount
Gets the number of parts contained in the PropertyPath.
Declaration
public int PartsCount { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
AppendPath(String)
Appends the specified path.
Declaration
public void AppendPath(string path)
Parameters
Type | Name | Description |
---|---|---|
String | path | The string path to append. |
Clear()
Clears all parts from the PropertyPath.
Declaration
public void Clear()
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Equals(PropertyPath)
Declaration
public bool Equals(PropertyPath other)
Parameters
Type | Name | Description |
---|---|---|
PropertyPath | other |
Returns
Type | Description |
---|---|
Boolean |
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Pop()
Removes the last PropertyPath.Part from the PropertyPath.
Declaration
public void Pop()
PushIndex(Int32)
Appends the given index to the PropertyPath. This will use Index.
Declaration
public void PushIndex(int index)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The index to add. |
PushKey(Object)
Appends the given key to the PropertyPath. This will use Key.
Declaration
public void PushKey(object key)
Parameters
Type | Name | Description |
---|---|---|
Object | key | The key to add. |
PushName(String)
Appends the given name to the PropertyPath. This will use Name.
Declaration
public void PushName(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name | The part name to add. |
PushPart(PropertyPath.Part)
Appends the given PropertyPath.Part to this property path.
Declaration
public void PushPart(PropertyPath.Part part)
Parameters
Type | Name | Description |
---|---|---|
PropertyPath.Part | part | The part to add. |
PushPath(PropertyPath)
Appends all parts of the given PropertyPath to the end of the this PropertyPath.
Declaration
public void PushPath(PropertyPath path)
Parameters
Type | Name | Description |
---|---|---|
PropertyPath | path | The PropertyPath to append. |
PushProperty(IProperty)
Appends the given property to the PropertyPath. This will use the correct PropertyPath.PartType based on the property interfaces.
Declaration
public void PushProperty(IProperty property)
Parameters
Type | Name | Description |
---|---|---|
IProperty | property | The property to add. |
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String |