Click or drag to resize
CalculatedProperty Class
Inheritance Hierarchy
SystemObject
  Lawo.ComponentModelCalculatedProperty

Namespace: Lawo.ComponentModel
Assembly: Lawo (in Lawo.dll) Version: 1.4.1707.27006
Syntax
C#
public static class CalculatedProperty
Methods
  NameDescription
Public methodStatic memberCreateT(IPropertyINotifyPropertyChanged, T, IPropertyNotifyPropertyChanged, T)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, IPropertyINotifyPropertyChanged, TS7, IPropertyINotifyPropertyChanged, TS8, IPropertyINotifyPropertyChanged, TS9, FuncTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TS10, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, IPropertyINotifyPropertyChanged, TS7, IPropertyINotifyPropertyChanged, TS8, IPropertyINotifyPropertyChanged, TS9, IPropertyINotifyPropertyChanged, TS10, FuncTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TS10, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TS10, TS11, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, IPropertyINotifyPropertyChanged, TS7, IPropertyINotifyPropertyChanged, TS8, IPropertyINotifyPropertyChanged, TS9, IPropertyINotifyPropertyChanged, TS10, IPropertyINotifyPropertyChanged, TS11, FuncTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TS9, TS10, TS11, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TTarget(IPropertyINotifyPropertyChanged, TS1, FuncTS1, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTSource, TTarget(IEnumerableIPropertyINotifyPropertyChanged, TSource, FuncIEnumerableTSource, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, FuncTS1, TS2, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, FuncTS1, TS2, TS3, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, FuncTS1, TS2, TS3, TS4, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, FuncTS1, TS2, TS3, TS4, TS5, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, FuncTS1, TS2, TS3, TS4, TS5, TS6, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TS7, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, IPropertyINotifyPropertyChanged, TS7, FuncTS1, TS2, TS3, TS4, TS5, TS6, TS7, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Public methodStatic memberCreateTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TTarget(IPropertyINotifyPropertyChanged, TS1, IPropertyINotifyPropertyChanged, TS2, IPropertyINotifyPropertyChanged, TS3, IPropertyINotifyPropertyChanged, TS4, IPropertyINotifyPropertyChanged, TS5, IPropertyINotifyPropertyChanged, TS6, IPropertyINotifyPropertyChanged, TS7, IPropertyINotifyPropertyChanged, TS8, FuncTS1, TS2, TS3, TS4, TS5, TS6, TS7, TS8, TTarget, IPropertyNotifyPropertyChanged, TTarget)
Top
Remarks

Compared to the creation of a MultiBindingT, a CalculatedPropertyT instance slightly simplifies the implementation of a calculated property in classes that derive from NotifyPropertyChanged. A CalculatedPropertyT object is typically assigned to a readonly field of the class that contains the calculated property. The calculated property itself is implemented with a getter and no setter. The getter simply returns Value of the CalculatedPropertyT field.

When a CalculatedPropertyT instance is created, its Value property is calculated from the values of the source properties. Whenever one of the source properties changes, Value is recalculated. If the new value differs from the old value, PropertyChanged is raised accordingly.

Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also