Binding

References
public sealed class Binding
The assignment of a skin property. Either set outright, or inherited from another property through zero or more modifiers.

Properties

Dependencies

#
public PropertyId[] Dependencies { get; }
Gets every property this binding directly depends on. This always includes the immediate source if this is an inherited binding, but also all referenced implied by the modifiers. A filter set outright depends on the properties its own modifiers mix in. Note it does not include second or higher order dependencies, so this cannot be used to detect cyclicality.

IsInherited

#
public bool IsInherited { get; }

Kind

#
public PropertyType Kind { get; }

Modifiers

#
public Modifier[] Modifiers { get; }

Source

#
public PropertyId Source { get; }

Value

#
public SkinValue Value { get; }

Methods

Evaluate

#
public SkinValue Evaluate(Func<PropertyId, SkinValue> resolve)
resolve (Func<PropertyId, SkinValue>)

Inherit

#
public static Binding Inherit(PropertyId source, params Modifier[] modifiers)
source (PropertyId)
modifiers (params Modifier[])

Literal

#
public static Binding Literal(SkinValue value)
value (SkinValue)

ToString

#
public override string ToString()
Object.ToString

ToText

#
public string ToText()